System, apparatus and method for an intelligent goal

ABSTRACT

A non-transitory storage medium having stored thereon logic is disclosed. The logic is executable by one or more processors to perform operations including receiving information associated with a selection of a first training drill, responsive to receiving the information associated with the selection of the first training drill and based on the first training drill, causing a first light to be placed in an activated state, wherein the first light is coupled to a first goal apparatus, and responsive to a triggering event, causing the first light to be placed in a deactivated state and causing a second light to be placed in an activated state. The goal apparatus includes posts that form a goal plane, wherein a first sensor pair is coupled to the goal, and wherein the triggering event is a detection of an object passing through the posts and across the goal plane.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.15/374,984, filed Dec. 9, 2016, now U.S. Pat. No. 10,118,078 issued Nov.6, 2018, which is a continuation-in-part of U.S. application Ser. No.14/617,599, filed Feb. 9, 2015, now U.S. Pat. No. 9,555,306 issued Jan.31, 2017, which is a continuation of U.S. application Ser. No.13,287,749, filed Nov. 2, 2011, now U.S. Pat. No. 9,010,309, issued Apr.21, 2015, the entire contents of each are incorporated by referenceherein.

FIELD

Embodiments of the disclosure relate to the field of soccer goals andsoccer ball-providing machines. More specifically, one embodiment of thedisclosure relates to a system and apparatus of a soccer goal thatincludes a plurality of sensors to detect when a ball breaks the planeof the goal line.

BACKGROUND

In soccer, to be in control of the ball is of importance to every levelof player. The ability to control an awkward bouncing ball quickly andeffectively gives the player with the ball the immediate advantage.First touch is often the difference between success and failure in mostsituations during the match. Additionally, accuracy in passing andshooting a ball is essential in developing a well-rounded game.

As players get older, the game gets faster and demands more speed.Consequently, there is a greater need for accurate shooting and passing.Often, players cannot always place a ball, either to score a goal oreven to place a shot within a specific location of the goal—e.g., out ofthe reach of the goalie; therefore, a player may miss out on anopportunity to score a goal.

Players can improve the accuracy of their shooting and passing byperforming shooting and passing drills. Often, however, a player isunable to concentrate on keeping track of the location of each pass orshot within a goal or other area during drills involving several balls.Therefore, by the end of the drill, a player typically does not rememberhis/her accuracy and cannot determine whether he/she is improving basedon results of previous drills.

SUMMARY

Certain aspects, advantages and novel features of the inventions aredescribed herein. It is to be understood that not necessarily all suchadvantages may be achieved in accordance with any particular embodimentof the inventions disclosed herein. Thus, the inventions disclosedherein may be embodied or carried out in a manner that achieves orselects one advantage or group of advantages as taught herein withoutnecessarily achieving other advantages as may be taught or suggestedherein.

BRIEF DESCRIPTION OF THE DRAWINGS

The features disclosed herein are described below with reference to thedrawings. Throughout the drawings, reference numbers are re-used toindicate correspondence between referenced elements. The drawings areprovided to illustrate embodiments of the inventions described hereinand not to limit the scope thereof.

FIG. 1 is a perspective view of a ball-throwing machine.

FIG. 2 is a cross-section of the ball-throwing machine of FIG. 1.

FIG. 3 shows some of the internal components of the ball-throwingmachine including portions of a ball delivery device.

FIG. 4 illustrates the bottom of the ball-throwing machine.

FIG. 5 shows portions of a ball delivery device.

FIG. 6 illustrates an example training scenario using the ball-throwingmachine in conjunction with a controller.

FIG. 7 illustrates an embodiment of a computing environment forfacilitating communications between the controller of FIG. 6 and asoccer network application.

FIG. 8 illustrates an embodiment of a ball machine control process thatmay be implemented by the controller of FIG. 6.

FIG. 9 illustrates an embodiment of a training process that may beimplemented using the ball throwing machine and the controller of FIG.6.

FIG. 10 illustrates an embodiment of a coaching process that may beimplemented at least in part by the soccer network application of FIG.7.

FIGS. 11 through 15 illustrate embodiments of controller user interfacesthat may be generated by the controller of FIG. 6.

FIGS. 16 and 17 illustrate embodiments of user interfaces that may begenerated by the soccer network application of FIG. 7.

FIG. 18 is an embodiment of an intelligent goal having a plurality ofsensors establishing multiple zones within the plane of the goal lineand a plurality of lights.

FIG. 19A is a front side view of an embodiment of an intelligent goal.

FIG. 19B is a top cross-sectional view of an embodiment of theintelligent goal as seen in FIG. 19A, which includes the side posthaving a plurality of lights and a plurality of sensors integratedtherein.

FIG. 19C is a side view of a sectional portion of a side post of thegoal 1900 including a plurality of sensors.

FIG. 19D is a top perspective of an embodiment of an intelligent goalincluding a front set of side posts having a plurality of lightsintegrated therein and a back set of side posts having a plurality ofsensors integrated therein.

FIG. 19E is front view of an embodiment of an intelligent goal includinga housing including one or more speakers.

FIG. 19F is a front side view of an embodiment of an intelligent goalincluding a plurality of sensors located proximate to upper corners ofthe intelligent goal.

FIG. 20 is a front side view of a sectional portion of a side post, thecrossbar and additional supporting posts of the goal 2000 including aplurality of attachable sensors and an attachable speaker.

FIG. 21 is an exemplary embodiment of a logical representation of theintelligent goal logic.

FIG. 22 is a flowchart illustrating an exemplary method for configuringand operating the intelligent goal according to a selected trainingdrill.

FIG. 23 is an exemplary embodiment of a computing environment forfacilitating communications between the controller and a soccer networkapplication of FIG. 7, the intelligent goal logic and an intelligentgoal.

DETAILED DESCRIPTION I. Introduction

As described above, a soccer player's first touch of the ball is animportant core skill to develop. A touch can be as simple as receiving aslow pass on the ground or as difficult as taking a top speed knucklingball out of the air and straight down onto one's foot. First touchdevelopment is a continual process; youth and professionals alikeperpetually train to ever improve their first touch and ball handlingskills. The skill of touch is typically trained by players forming pairsand passing the ball to one another. This training method can produceresults but tends to fall short in providing a disciplined approach totraining that enables progress measurement and goal-orientedimprovement. Further, this technique requires a player to find anotherindividual with which to practice, which is not always practical,particularly for serious athletes who devote significant time to theirtraining.

This disclosure describes a specialized ball-throwing machine that canbe used to improve a player's first touch and ball control, among otherbenefits. The ball-throwing machine can be designed to throw, lob,pitch, or otherwise eject soccer balls toward a player, who can trap theballs or practice other ball control skills. The ball-throwing machinemay be controlled using a controller in the form of a handheld computingdevice or the like. The controller can include software and hardwarethat enables the player to remotely control the machine, for example,wirelessly. The controller can include functionality for recording aplayer's progress with ball training, and the player can upload thisprogress information to a software network application, which may be aweb site or the like. The soccer network application can providefunctionality for a remote coach to analyze the player's progress andprovide a customized training program to the player based on theplayer's progress. As a result, the ball-throwing machine can enable theplayer to track progress and receive remote coaching to improve thatprogress. These and other features of the ball throwing machine,controller, and associated soccer network application are described indetail below. In addition, this disclosure describes an “intelligentgoal” that combines a traditional soccer goal with at least a pluralityof sensors and logic to determine when a goal was scored and theplacement of the ball as the goal was scored. Additionally, theintelligent goal may include one or more lights and/or one or morespeakers. The sensors, lights and speakers may be integrated in the sideposts or crossbar of the intelligent goal. The intelligent goal mayinclude a plurality of sensor pairs such that a first sensor of thesensor pair is integrated in a first side post and a second sensor ofthe sensor pair is integrated in a second side post and alignedhorizontal to the first sensor. A beam (e.g., a light beam) may betransmitted from the first sensor to the second sensor such that a goalis detected when a ball interrupts the light beam. Based on the locationof the sensor pair along the side posts, the placement of the ball whilescoring the goal is known. One or more lights may be integrated withinthe side posts and/or cross bar and, controlled by logic of theintelligent goal, be turned on or off according to aspects of a drillfor which the intelligent goal is being used. Further, one or morespeakers may be coupled to or integrated in the cross bar or side postsand, controlled by logic of the intelligent goal, provided audible cuesaccording to aspects of a drill for which the intelligent goal is beingused.

The game of soccer is commonly known in some countries as “football” or“association football.” For convenience, this specification referssolely to the term “soccer,” although such usage should be consideredsynonymous with “football” and “association football.” Further,embodiments of the ball throwing machine, controller, and soccer networkapplication described herein can be used or adapted for sports otherthan soccer, some examples of which are described below.

It should also be noted that although this specification refersprimarily to using a ball-throwing machine to train ball trappingskills, the ball-throwing machine can be used to train other skills. Forexample, the ball throwing machine can be used to train passing,shooting, and stopping a soccer ball, among other ball skills.

II. Example Ball Throwing Machine

A ball throwing machine 10 is shown in FIG. 1. The ball throwing machine10 can be used to pitch a ball, such as to deliver a ball to a user. Forexample, the ball throwing machine 10 can be used to deliver a soccerball or a specialized soccer-type ball to a user. The ball throwingmachine 10 can also be used with various other balls for various othersports.

The illustrated ball throwing machine 10 includes an outer housing 12with an upper section 14 and a lower section 16. The ball throwingmachine 10 can be that can be easily movable. For example, the ballthrowing machine can include one or more motorized wheels 18. Someembodiments may also include one or more handles for securing the ballthrowing machine while moving the same.

As can be seen in FIGS. 1 and 2, the upper section 14 includes a hopper30. The hopper 30 can be used to receive and/or store balls to later beejected or thrown by the ball throwing machine 10. The illustratedembodiment includes a high-volume or large storage-type hopper 30. Insome embodiments, the hopper can store as many as 25 balls. Of course,it will be understood that the hopper could hold more or less balls, asnecessary or desired.

Many different styles and types of hoppers can be used. As shown, thehopper 30 is a gravity-type hopper with a spiraling ramp 32 locatedaround and internal tube 34. The tube 34 can be used to impartstructural strength to the hopper an can also provide appropriatespacing such that balls within the hopper are able to properly rotateand move downward in the hopper. Alternatively, the tube 34 is notincluded in some embodiments. Rather, the hopper 30 merely includes thespiraling ramp 32. In another embodiment, the spiraling ramp 32 isomitted and the hopper 30 includes a tube 34 that holds a plurality ofballs.

In some embodiments, the hopper 30 can be transparent. For example, theouter material of the hopper may be clear Plexiglas or plastic, or athin mesh-like fabric. This transparency can allow the user to view theballs in the hopper 30 and identify when the hopper 30 needs to bereloaded. The hopper 30 can have a top portion 36 and a bottom portion38. The top portion 36 can be configured for receiving one or more ballsinto the hopper 30 and in some embodiments, can hold additional balls.The bottom portion can be configured to transition balls from the hopper30 into a ball staging area 42.

The hopper 30 can be used for storing balls when the ball throwingmachine 10 is in use and/or when the ball throwing machine 10 is not inuse. In some embodiments, the hopper 30 can be collapsible or detachableto decrease the size of the ball throwing machine 10, such as when theball throwing machine is not in use. In some embodiments, the tube 34can be a telescoping tube and the outer material of the hopper 30 can befabric, such that the hopper 30 can increase or decrease in size. Insome embodiments with the collapsible hopper 30, the top portion 36 canbe collapsed to sit on top of the bottom portion 38. Alternatively, thetube 34 can be configured to be removable to remove structural supportseparating the top portion 36 from the bottom portion 38.

Advantageously, in certain embodiments, the ball throwing machine 10 isdesigned to deliver soccer balls that are smaller than adult regulationsize soccer balls to thereby enable more effective training of balltrapping skills. The smaller surface area of such balls can make thesmaller balls harder to trap than regulation size balls (such as size“5” soccer balls). Training with smaller balls can therefore benefit aplayer using a larger, regulation-size ball in a match because theplayer may have obtained skills that transfer over to theeasier-to-trap, larger ball. In some embodiments, the balls used withthe ball throwing machine 10 are about half the size of regulation size5 balls, about a third of the size of regulation size 5 balls, about aquarter of the size of regulation size balls 5, or some other size. Foryouth players who may already be using a smaller ball than an adult ballin matches, the ball throwing machine 10 can employ even smaller ballsthan the youth players use in their matches. For instance, if youthplayer is used to using size 4 soccer balls, the ball throwing machinecan throw size 3 soccer balls or smaller, etc. However, in otherembodiments, regulation size balls are used instead of smaller balls.

The size of the balls used by the ball throwing machine 10 can besmaller than a regulation size 3 ball, even for older youth and adultplayers. For example, in one embodiment, the balls are preferably about152 mm in diameter. However, in other embodiments the balls can range insize from about 132 mm to about 172 mm in diameter while still providingsome or all of the benefits of the balls described herein. In stillother embodiments, the balls can range in size from about 115 mm to 215mm in diameter while still providing at least some of the benefitsdescribed herein.

A ball that may be used herein may have any of the followingcharacteristics: a rubber construction, a butyl bladder, one or morenylon plys (such as 1, 2, 3, or 4 or more nylon plys), spiral winding ofthe nylon plys, and the like. These and other characteristics of theballs, among others (including size, texture, weight, cover type, etc.)can be selected to achieve a desired liveliness or bounciness of theball. Different balls may be provided with different liveliness fordifferent levels of difficulty. For instance, a ball that has morebounce may be harder to trap and thus appropriate for a higher level ofdifficulty, while a ball with less bounce may be easier to trap and thusappropriate for a lower level of difficulty.

Moreover, the colors of the balls can be selected to target foot-eyecoordination. For example, the balls may be blue, green, or red, or acombination of the same, as these colors can be the easier to see thanother colors. Alternatively, colors may be selected that are less easyto see so as to increase the difficulty of training. Different colorsmay be provided for boys and girls, who may perceive colors slightlydifferently.

In one embodiment, the balls are not actual soccer balls. For example, aball having a smaller size than a regulation size ball can be consideredto be a ball other than a soccer ball. Counterintuitively, it can bebeneficial to train soccer skills (such as trapping) using balls thatare not soccer balls, such as any of the balls described herein. Ballsused in other sports can also be thrown by the ball throwing machine 10for the purposes of training soccer skills. Tennis balls, racquet balls,and squash balls, for instance, can be beneficially used to traintrapping skills.

Moving now to the bottom portion 16 of the outer housing 12, the bottomportion 16 is shown housing the ball staging area 42, as well as theball delivery device 40. As can be seen in FIG. 2, the ball staging area42 can include a ramp 24 that can hold one or more balls. The ramp 24can include one or more ball stops 26. The ball stops can be used tostop individual balls or the balls collectively.

For example, as shown, the ball staging area 42 includes three ballstops 26. In some embodiments, the ball stops 26 can include a solenoidconfigured to advance and/or retract a rod or other member in front of aball. The three balls stops 26 can allow the ball throwing machine 10 tocontrol the projection of the ball completely with the ball deliverydevice 40. For example, separating the balls with multiple ball stops 26can allow the ball delivery device 40 to pitch a ball without theinfluence of other balls acting or pushing upon the ball. It will beunderstood that the balls in the hopper may be pressing down on oneanother by gravity and could have an influencing effect on thetrajectory of the ball, if allowed to contact the ball being pitched.However, fewer than three ball stops 26 may be included in the machine10 instead.

As is shown, the bottom portion 16 of the outer housing also includes atleast one opening 20. The opening 20 can provide space for the ball tobe thrown through to the user. The opening 20 can be one of manydifferent shapes, such as oval, elliptical, rectangular, triangular, orany other desired shape. In some embodiments, the bottom portion 16 ofthe outer housing 12 includes a minimal amount of material, such that amajority, or at least a substantial portion, of the ball delivery device40 is exposed and not enclosed. In such embodiments, little to noportion of the outer housing may be between the ball delivery device 40and the user.

Turning now to FIG. 3, an embodiment of a ball delivery device 40 isshown. A ball delivery device 40 can include any number of variouscomponents. The ball delivery device 40 can be used to impart motion toa ball. In some embodiments, the ball delivery device 40 can be used tocontrol the trajectory of the ball, including the speed and angle atwhich the ball leaves the ball throwing machine 10. The ball deliverydevice 40 can perform these functions in various different mannersincluding those described below. It is to be understood that the balldelivery device 40 also encompasses various other systems and methods ofperforming the above functions, as well as, other, additional and/oralternative functions.

As illustrated, the ball delivery device 40 includes one or more wheelsor balls 42 which are used to impart speed, spin, and/or other featuresof trajectory to a ball. The ball delivery device 40 can also includeone or more motors 44 which are connected to the wheels 42 to therebydeliver speed and direction to the wheels 42. The ball delivery device40 can also include a control unit 46 and a power source 48, such asbatteries. The control unit 46 can include various features that can beused to control the ball delivery device 40. For example, the controlunit 46 can include electronic circuitry, a processor, and memory havingprogram instructions stored thereon for controlling the variouselectrical features of the ball delivery device 40, such as themotorized wheels 18 and actuators (described below). Further, thecontrol unit 46 can include a wireless network interface card (NIC) andantenna or wired NIC for communicating with a controller device thatsends commands to the ball throwing machine 10, as described below withrespect to FIG. 6.

The ball delivery device 40 may also include one or more actuators 50.The actuator 50 can be used to control an angle of the ball deliverydevice, including the wheels 42. The ball delivery device 40 can includea frame having one or more brackets 52, 54. The brackets 52, 54 can bepositioned in fixed relationship with one another. As shown, theactuator 50 is connected to at one end to bracket 52 and at an oppositeend to bracket 56. The bracket 56 can be attached to the wheels and insome embodiments, the motors 44. The bracket 56 can also be hingedlyattached to bracket 54. The actuator 50 can move to increase or decreasethe length of the actuator.

In the illustrated position of FIG. 3, the longitudinal axis of eachwheel 42, about which the wheel rotates, is generally vertical. Movingthe actuator 50 can change this position and orientation of the axis andwheel 42 as changing the length of the actuator 50 can change the angleor positional relationship between the bracket 56 and the frame,including brackets 52 and 54. When the actuator 50 is lengthened, thedistance between the bracket 52 and parts of the bracket 56 isincreased. When the actuator 50 is shortened, parts of the bracket 56are moved closer to the bracket 52. This can result in the axis movingeither upward or downward towards a horizontal orientation. It will beunderstood that changing the angle of the wheels 42 can change thetrajectory of the ball when it is ejected.

Moving now to FIGS. 4 and 5, another feature of the ball delivery device40 will be described. The ball delivery device 40 can also includefeatures to change the side-to-side trajectory of the ball. As can beseen, an actuator 50 can be located on the bottom of the ball throwingmachine 10. Such an actuator can be located either internally orexternally of the outer housing 12. A bracket 58 can be connected to thebracket 54 through a turntable 60. Such a connection can allow thebracket 54 to move with respect to the bracket 58. The actuator 50 canbe connected to both brackets 54, 58 such that movement of the actuator50 can change the positional relationship of portions of the bracket 54with the bracket 58.

Moving the actuator 50 illustrated in FIGS. 4 and 5 can change therelationship of a portion of the ball delivery device 40 with theopening 20. Thus, the ball delivery device can pitch the ball out theopening within a range of angles from the straight on position. Forexample, the ball delivery device can pitch the ball within ±10% or ±20%(or some other angle) of the straight-on position.

It will be understood that the ball delivery device 40 can function inmany different ways, including ways different from those describedherein. For example, rather than including an actuator, the balldelivery device 40 can be moved or positioned with one or more steppermotors connected directly between two rotating brackets. Further,although described as being primarily used for pitching soccer balls,the ball delivery device 40 can also be adapted to pitch other types ofballs, such as baseballs, softballs, tennis balls, racquet balls, squashballs, cricket balls, lacrosse balls, volleyballs, and the like.

III. Example Training and Computing Environments

FIG. 6 illustrates an example training scenario 100 for using the ballthrowing machine 10 in conjunction with a controller 120. In thetraining scenario 100, a player 130 is training trapping or other ballcontrol skills with the ball throwing machine 10. The player 130 may beany age or gender, and the ball throwing machine 10 can include settingsthat are appropriate for children, youth, and adults.

A controller 120 is also shown and is in wireless communication with theball throwing machine 10. The controller 120 can be a computing deviceof the player 130 (or the player's coach or parent), and may be, forexample, a smart phone, tablet, laptop, personal digital assistant(PDA), or other wireless handheld device, or even a desktop in someembodiments. The controller 120 can communicate wirelessly with awireless module in the ball throwing machine 10 (e.g., in the controlunit 46). Alternatively, the controller 120 can be coupled with the ballthrowing machine 10 using a cable or a docking station installed in theball throwing machine 10.

The controller 120 can include functionality for controlling thetraining programs that run on the ball throwing machine 10. For example,the controller 120 can include functionality for a user thereof, such asthe player 130, coach, or a parent, to select training programs to becommunicated to the ball throwing machine 10. Each training program caninclude a set of drills, commands, or instructions to be executed by theball throwing machine 10, such as how many balls to throw in a givenperiod of time, how fast, and with what trajectory. The trainingprograms can be selected and customized by the player 130, a coach, or aparent.

An optional camera 140 is shown in communication with the ball throwingmachine 10 via a cable 142. The camera 140 can take pictures or video ofthe player 130 during training sessions. The camera 140 can transmit thepictures and/or video to the ball throwing machine 10 over the cable 142(or a wireless link). In turn, the ball throwing machine 10 can providethe pictures and/or video to the controller 120 wirelessly.Alternatively, the camera 140 can communicate directly with thecontroller 120, for example, by wirelessly sending pictures and video tothe controller 120. Further, in some embodiments, images or video can betaken of the player 130 using a camera in the controller 120 or abuilt-in camera in the ball throwing machine 10 (not shown) instead ofor in addition to the camera 140. In addition, in some embodiments, thecamera 140 can communicate with player recognition software running in aprocessor or controller of the ball throwing machine 10. This playerrecognition software can locate a player and cause the ball throwingmachine 10 to automatically throw a ball to the player. The playerrecognition software can include facial recognition software but mayalso detect a player from features of the player other than the face.

Advantageously, in some embodiments, the player 130 can use thecontroller 120 to submit pictures, video, or other player training datato a remote web site or network application (described below withrespect to FIG. 7). The web site or network application may providefunctionality for a coach to evaluate the player training data andprovide feedback, including customized training programs that can beexecuted by the ball throwing machine 10.

FIG. 7 illustrates an embodiment of a computing environment 200 forfacilitating communications between the ball throwing machine 10, acontroller 220, and a soccer network application 260. Advantageously, incertain embodiments, the computing environment 200 enables players totrack player training data regarding training sessions with the ballthrowing machine 10 and provide the player training data to a coach viathe soccer network application 260. The coach can use the soccer networkapplication 260 to provide feedback to the player, including customizedtraining programs, based on the players' progress with the ball throwingmachine 10.

By way of overview, the ball throwing machine 10 communicates with thecontroller 220, for example, wirelessly using WiFi (IEEE 802.11x),Bluetooth, Zigbee, or any other standard protocol(s). The controller 220is a more detailed example of the controller 120 of FIG. 6 and can haveall the features of the controller 120 described above. The controller220 can communicate with the soccer network application 260 over anetwork 208, which may be a LAN, a WAN, the Internet, or combinations ofthe same. Devices 250 operated by coaches and/or recruiters may alsocommunicate with the soccer network application 260 (or directly withthe controller 220 or machine 10) over the network 208.

In the depicted embodiment, the controller 220 includes a ball machinecontrol module 222, a training module 224, and a safety module 226. Eachof these components can be implemented with hardware and/or software. Inone embodiment, the modules 222, 224, 226 are part of a controllerapplication installed on the controller 220. The controller applicationmay be obtained for installation on the controller 220 from anapplication store (such as the iTunes™ application store or Android™Market application store), via computer-readable media (such as a USBkey or DVD), or the like. In some embodiments, the controller 220 issold or otherwise provided together with the ball throwing machine 10with the controller application preinstalled. Other functionality mayalso be provided with the controller 220 in some implementations.

The ball machine control module 222 of the controller 220 can providefunctionality for a user (such as a player, coach, or parent etc.) tocontrol the ball machine 10. For instance, the ball machine controlmodule 222 can output a user interface that provides options for a userto select different types of training programs or individual ballthrowing characteristics to be implemented by the ball throwing machine10. This user interface can be implemented on a touch screen display ofthe controller 220 in some devices, although other types of controller220 displays may also be used. In response to receiving user inputregarding a desired training program or throwing pattern, the ballmachine control module 222 can send instructions or commands to the ballthrowing machine 10. A processor or other circuitry in the ball throwingmachine 10 (such as the control unit 46) can receive and execute theseinstructions. The ball machine control module 222 can therefore enable auser to control any functions of the ball throwing machine 10, includingbut not limited to ball velocity, ball delivery (e.g., air, ground,line, lob, or bounce), ball trajectory (e.g., angled, curved, orstraight), ball oscillation (e.g., side-to-side or middle-to-side), ballthrowing frequency (e.g., every user-specified number of seconds), andthe like.

The training module 224 can provide functionality for a user to recorddata regarding the player's usage of the ball throwing machine 10. Forexample, the training module 224 may provide a training user interfacethat enables a user to record this player training data (see, e.g., FIG.13). This player training data can include a log of the commands sent tothe machine 10, the commands executed by the machine 10, the user'ssuccess with traps or goals or other ball-control drills, video data,and the like. In one example implementation, the training module 224provides user interface controls (such as touch-screen controls) thatenable a user to input whether a trap is successful. The training module224 may also include voice recognition functionality, using anycommercially-available voice recognition software. A user can thereforedictate verbal training results to the training module 224, such as“successful trap” or “missed trap,” or simply just “success” or “miss,”or the like. The training module 224 can interpret the voice commandsand record the interpretation (e.g., a success or miss) in the playertraining data. The training module 224 can supply the player trainingdata to the soccer network application 260 (described below) over thenetwork 208.

The safety module 226 can provide a user interface that enables users tomanage safe use of the ball throwing machine 10. For instance, thesafety module 226 can provide parental controls or the like that enablea parent, coach, or other responsible person to manage access to theball throwing machine 10 or features thereof. It can be desirable tohave such features to prevent accidents that can occur, for example,from setting the ball velocity or throwing frequency too high foryounger players. These parental controls can include an authenticationmechanism (such as a username/password or other credential) for enablingaccess to the machine 10, control over ball-throwing parameters such asvelocity, and an idle or timeout feature that can shut down thecontroller 220 and/or ball throwing machine 10 after a timeout period ofinactivity (such as 30 seconds, a minute, or some other time). Any ofthese safety features can also be implemented directly in theelectronics of the ball throwing machine 10, rather than in thecontroller 220.

The soccer network application 260 can store player training datareceived from the training module 224 in a data repository 270. The datarepository 270 can include any form of physical computer data storage,as well as logical computer storage. For instance, the data repository270 can include one or more databases, associated physical storagemedia, and the like. The soccer network application 260 can includehardware and/or software for providing players (via the controllers 220or other devices), coaches, and recruiters with access to the playertraining data, among optionally other data and features. The soccernetwork application 260 includes, in the depicted embodiment, a coachingmodule 262, a social network module 264, and a recruiting module 266.These modules represent at least some of the functionality that thesoccer network application 260 may provide to players, coaches,recruiters, and others.

Each of the modules 262, 264, 266 can provide user interfaces for usersto access features of the modules 262, 264, 266. For instance, thecoaching module 262 can provide one or more user interfaces that enablea coach to access and analyze player training data for a plurality ofplayers associated with that coach. If the player training data includesvideo, for instance, the coaching module 262 can provide functionalityfor the coach to view videos of players. The coaching module 262 canalso provide functionality through one or more user interfaces for acoach to provide feedback to players. This feedback may be in the formof textual feedback, video feedback, or training program feedback. Acoach may, for instance, respond to the uploading of a player's trainingdata with comments on the player's form and suggest adjustments to theplayer's training program. Beneficially, in some embodiments, thecoaching module 262 also enables a coach to select or create a trainingprogram to provide to a player as homework or the like. The coachingmodule 262 may provide a user interface for creating a custom trainingprogram for a specific player (see FIG. 16).

Moreover, the coaching module 262 can enable a coach to better leveragehis or her time when training players. In the past, a coach hastypically spent a few hours per week with an entire team of players, andthe coach's ability to provide individual attention to those players hasbeen limited. Further, a coach is typically not present when a player ispracticing at home or with friends. However, with the soccer networkapplication 260, a coach can evaluate player training data for severalplayers and provide individualized feedback and training programrecommendations to those players, without leaving his or her home. Thus,the soccer network application 260 can enable coaches to focus moreindividual attention on the development of players' ball control andtrapping skills.

The social networking module 264 can provide functionality for differentplayers, coaches, and the like to interact together in an online soccercommunity. For example, the social networking module 264 can provideuser interfaces for creating player or coach pages, discussing soccertraining with teammates and friends, uploading pictures and video,linking to web sites regarding soccer or other topics, and otherfeatures that may be found in any social network. Generally, the socialnetwork provided by the social networking module 264 can enable users tokeep track of each other's progress in training with the ball throwingmachine 10 and encourage each other in their progress. The socialnetwork module 264 may also provide an event user interface that enablesusers to coordinate events, such as impromptu soccer games, among otherfeatures.

The recruiting module 266 can provide a recruiting user interface thatenables recruiters to examine player data and/or for players or coachesto upload player data to recruiters. Some examples of recruiters thatcan use such features include high school recruiters, collegerecruiters, and professional recruiters. In one embodiment, therecruiting user interface enables recruiters to view player trainingdata obtained with respect to the ball throwing machine 10.Advantageously, in certain embodiments, player training data obtained inconjunction with the ball throwing machine 10 can provide a standardizedapproach to reviewing player performance. Other player data may also bestored in the data repository 270 and made available to recruiters viathe recruiting user interfaces, such as in-game data, coach reviews,scout reports, and the like.

It should be noted that the soccer network application 260 can beimplemented as one or more physical servers. These servers may begeographically dispersed or co-located. In addition, in someembodiments, the soccer network application 260 is implemented as acloud-computing platform. For example, the soccer network application260 can be implemented as one of a plurality of virtual machinesexecuting on a hypervisor, which can be a thin layer of softwareexecuting on a physical machine. Accordingly, the modules 262, 264, 266of the soccer network application 260 can be implemented in hardwareand/or software.

Further, it should be noted that although the features of FIGS. 6 and 7as well as the features in subsequent FIGURES can be implemented inconjunction with the ball throwing machine 10, other ball throwingmachines than the one explicitly described may also be used. Forexample, a throwing machine designed for a different sport can becontrolled by the controller 120 or 220, or a different soccer-ballthrowing machine can be used with the controller 120 or 220.

IV. Example Training Processes

FIG. 8 illustrates an embodiment of a ball machine control process 300that may be implemented by the controller 220 (or 120). The ball machinecontrol process 300 can enable a player to run customized trainingprograms on a ball throwing machine, such as the ball throwing machine10. Advantageously, these customized training programs can be designedby a remote coach who creates or selects the programs based on theplayer's progress with the ball throwing machine.

The process 300 begins at block 302, where the ball machine controlmodule 222 of the controller 220 establishes communication with a ballthrowing device. The ball machine control module 222 can establishcommunication in one embodiment according to a wireless or other networkprotocol. At block 304, the ball machine control module 222 causes theball throwing machine to perform an initial training program. Theperformance of this initial training program is described in more detailbelow with respect to FIG. 9. As an overview, however, the initialtraining program can include one or more drills, which may includeuser-defined ball throwing commands or stored ball-throwing commands(which may have been stored by the player or coach).

At block 306, the training module 224 of the controller 220 recordsplaying training data. There are many ways that this training data maybe recorded, and many possible forms that the training data may take.Player training data can be recorded by the training module 224automatically in one embodiment. For example, the training module 224can log the commands issued by the controller 220 to the ball throwingmachine, or may log the commands actually executed by the machine. Forinstance, the machine can report to the controller 220 which commandsexecuted successfully and which did not execute successfully. Successfulexecution of a command can mean, in one embodiment, that the ballthrowing machine performed a throw. The amount of data that the trainingmodule 224 collects regarding issued or executed commands can vary aswell. This data can include characteristics of a throw, such as theball's velocity (or desired velocity), delivery (or desired delivery),trajectory (or desired trajectory), oscillation (or desiredoscillation), and/or frequency (or desired frequency). Any subset ofthis information may be collected and stored by the training module 224in computer storage. Alternatively, the training module 224 merelyrecords that a throw command was issued or occurred. In yet anotherimplementation, the training module 224 records the target area ortarget zone on the player's body that the throw is aimed at (see FIG.12).

As described above, the training module 224 may provide a user interfaceor voice recognition that enables a user to record whether a trap wassuccessful. The player training data may include this success/lack ofsuccess information in addition to, or instead of, the more detailedthrow or ball characteristics described above. In some embodiments, thetraining module 224 obtains an electronic indication of whether a playersuccessfully trapped a ball or at least came in contact with the ball.This electronic indication can come from one or more sensors embedded inor placed on a players' clothing. Sensors can be placed or embeddedanywhere on or in a player's clothing or on a player's person. Someexample areas where sensors may be placed include the chest area, legs,thighs, feet, on the player's head, or any other location on theplayer's clothing or body. The sensors can be pressure sensors, contactsensors, or any other form of sensor that can produce an electronicoutput responsive to contact with a ball. For example, a player's shoemay have sensors embedded in one or more surfaces of the shoe to trackwhether the ball came into contact with such surfaces. Further, in someimplementations sensors may be placed in a goal net (and/or on theposts) to determine whether the player has shot a ball in the goal. Thesensors may communicate wirelessly with the controller 220 and/or ballthrowing machine to provide sensor data to the training module 224. Thetraining module 224 can incorporate the raw sensor data or processedversions thereof into the player training data. Accordingly, the playertraining data can include automatic indications of whether a trap wassuccessful, or at least whether the ball came into contact with aplayer. One or more sensors can also be embedded in any of the ballsdescribed herein to track trapping, shooting, and other soccer skills.

The player training data may also include video data as described above.Further, the training module 224 can record any subset of the trainingdata described herein. At block 308, the training module 224 submits theplayer training data to the soccer network application 260 with arequest for feedback from a coach. This request for feedback may beexplicit or implicit. For instance, a player can access a feature of thetraining module 224 that enables submission of player training data tothe soccer network application 260. The soccer network application 260may in turn make this player training data available to a coach of theplayer, or to a pool of coaches from which one is assigned or who picksthe player training data for analysis. In another example scenario, theplayer can explicitly request the feedback of a particular coach whensubmitting the player training data to the soccer network application260.

At block 310, the training module 224 receives a customized trainingprogram from the coach through the soccer network application 260. Thecustomized training program can have any characteristics of any of thetraining programs herein. In one embodiment, the customized trainingprogram received includes a set of commands that the ball machinecontrol module 222 can transmit to the ball control machine. In anotherembodiment, the coach can provide textual, verbal, or video instructionsto the player regarding how to customize the player's training. Thecoach may also provide both an actual training program (including drillsor machine commands) and textual, verbal, and/or video feedback. Itshould be understood, however, that the coach may not actually providemachine-level commands to the controller 220 (although this can be donein some embodiments). Rather, the soccer network application 260 canprovide one or more user interfaces that enable a coach to select ordefine a training program having one or more drills. In response to thatselection or definition, the soccer network application 260 can generatethe appropriate commands that can be executed on the ball throwingmachine.

At block 312, the ball machine control module 222 causes the ballthrowing device to perform the customized training program. Thus, theball machine control process 300 can enable a player to receiveindividualized attention from a remote coach on ball trapping skills orother soccer skills.

FIG. 9 illustrates an embodiment of a training process 400 that may beimplemented using the ball throwing machine 10 and the controller 120 or220. The training process 400 is a more detailed example implementationof the initial training program block 304 described above with respectto FIG. 8. The training process 400 may be implemented, for example, bythe ball machine control module 222 of the controller 220.

At block 402, the ball machine control module 222 receives a userselection of training mode. A variety of training modes may be provided.These training modes may include, for example, the ability to access astored program (or a program over a network), and the ability to performcustom training. This custom training can be a “free-play” type oftraining, where a user can define each ball's throwing characteristicsas they are thrown. Although not shown, a random play mode is alsoavailable in some implementations, enabling a user to select a randomseries of throws having random characteristics (such as random velocity,angle, trajectory, and so forth). The custom training can also involvethe user creating his or her own training program, which the user maysubsequently store in memory of the controller 220 or ball throwingmachine. The controller 220 may also provide functionality (such as auser interface or user interface control) for users to uploads customtraining programs created with the controller 220 to the soccer networkapplication 260, where other players or coaches can download the customtraining programs. Further, the soccer network application 260 canprovide user interface options to comment on and/or rate custom trainingprograms, thereby enabling users to better decide which custom trainingprograms to download.

At decision block 402, the ball machine control module 222 determineswhether the user selection is for a stored program or custom commands.If the selection was for a stored program, the ball machine controlmodule 222 accesses the stored program at block 406. The stored programmay be a program created by the user and saved as a “favorite” programor the like. Alternatively, the stored program can be a training programprovided by a coach. If the user selection was for a custom program, theball machine control module 222 receives a user selection of customcommands at block 408. The ball machine control module 222 of thecontroller 220 sends the commands to the ball throwing device at block410, which executes the commands at block 412.

FIG. 10 illustrates an embodiment of a coaching process 500 that may beimplemented at least in part by the soccer network application 260. Inparticular, the coaching process 500 can be implemented at least in partby the coaching module 262. The coaching process 500 can advantageouslyenable a coach to leverage his or her time to customize training formultiple players without having to be physically present with each ofthose players.

At block 502, the coaching module 262 receives player training data froma plurality of controllers of ball throwing machines, such as any of thecontrollers or machines described above. At block 504, the coachingmodule 262 electronically generates a remote coaching interface havingoptions for selecting or defining training programs (see FIG. 16,described below). For each player, at block 506 the coaching modulereceives a coach selection of a customized training program based on theplayer training data for that player. In one embodiment, the coachselects or creates the training program. In another embodiment, thesoccer network application 260 recommends the training program based onan automated analysis of the player training data. For example, thenetwork application 260 can recommend a training program that isautomatically customized to a player based on any of the following:previous drills performed by the player, age of the player, skill levelof the player, a player's position, a past or recommended heart ratetarget for the player, combinations of the same, or the like. At block508, the coaching module 262 provides data representing the customizedtraining program for each player to the player's controller.

V. Example User Interfaces

FIGS. 11 through 17 illustrate embodiments of controller user interfaces600-1200 that may be generated by the controller 120 or 220. Each ofthese user interfaces 600-1200 may be generated by an application on ahandheld computing device, such as a tablet or smartphone. In addition,the user interfaces 600-1200 may also be generated on another computingdevice, such as a laptop or desktop, as part of a web page rendered by abrowser or by other software. In the example embodiments shown, FIGS. 11through 15 illustrate example aspects of a controller application, whileFIGS. 16 and 17 illustrate example aspects of a soccer networkapplication.

Referring specifically to FIG. 11, a controller user interface 600 isshown on a tablet device 601 for illustrative purposes, although otherdevices may be used to render the controller user interface 600. Thecontroller user interface 600 includes controls 610 for accessingvarious options and may be generated by the ball machine control module222. Example options shown include options to view product (ballmachine) stats, create a new training profile to begin training,download player or team stats (from the soccer network application), andenabling a live camera feed. An addition control 620 is provided forviewing stored videos. These videos can be videos of the player,training videos on how to use the machine, or tutorials on how toimprove soccer skills, to name a few.

FIG. 12 illustrates another controller user interface 700, shown on theexample tablet device 601 for illustrative purposes. The user interface700 may be generated by the ball machine control module 222. Thecontroller user interface 700 includes controls 710 for controllingvarious ball-delivery options, which enable a user to select whether toreceive a ball on the ground, on the bounce, or in the air, or someother custom setting. Statistics 720 regarding the player's trainingdrills are also shown, which indicate that for thigh traps, the playerhas made 58% successful traps, 22% successful finishes (e.g., shots ongoal after trapping the ball), and 15 consecutive finishes. A graphic730 illustrates a part of the player's body on which the ball should betrapped for a particular drill. In the embodiment shown, the graphic 730highlights the player's thigh as the target zone 732 to which the ballwill be thrown and trapped. In one embodiment, the user may select atarget zone 731, 732, or 733 on the graphic 730 (using a finger, mouse,or the other input mechanism) to cause balls to be thrown to a differentarea of the player's body. For example, selection of a foot target zone733 can cause the ball throwing machine to throw balls toward theplayer's feet.

More particularly, in one embodiment, selection of a foot target zonecan cause the machine to throw a ball along the ground, or lob the balltoward the player's feet. The distance or approximate distance of theplayer to the machine may be input by a user into the controller 220 tothereby enable the machine to make such a lob. Similarly, selection of athigh or chest target zone can cause the controller 220 can cause themachine to lob, bounce, or line drive the ball to a player's thigh orchest. The controller 220 may also provide functionality for othertarget zones to be selected, such as the head or the hands (forgoalies). For example, the controller 220 can enable a player to selecta spot away from the player where the player is to dive and catch theball with his or her hands.

In FIG. 13, another controller user interface 800 is shown, alsoillustrated on the table device 601. The controller user interface 800includes controls for a user to edit a training session by accessing adrill forum, inputting a new drill profile, viewing technical demos, oraccessing a drill training library from which to select new drills. Thedrill forum can allow players to share drills and training ideas and canbe implemented in a web site or other network application. Anothercontrol 820 is provided for accessing a video archive of drills. Theuser may record a training session using any of the recording techniquesdescribed above by selecting a record control 930. The record control930 is an example of a control that may be provided by the trainingmodule 224 to record player training data. A specific selected drill 940is also shown, which includes a series of projected ball trajectories941. A demo control 942 is provided to enable a user to view a demoanimation (or video) of how the drill 940 is to be performed.

FIGS. 14 and 15 illustrate additional example controller user interfaces900, 1000 implemented in the context of a smartphone 901. It should beunderstood, however, that the user interfaces 900, 1000 may beimplemented in other devices. Likewise, the other user interfacesdescribed herein may be implemented on a smart phone. In FIG. 14, theuser interface 900 includes arrow controls 910, 912, 920, 922 and anglecontrols 930, 940 to select a ball to be thrown in a specific direction.For example, selection of the up control 910 or down control 912 at anangle 930 of 15 degrees can cause the ball to be thrown up or down at anangle of 15 degrees from a horizontal plane (e.g., the ground).Similarly, selection of the left control 920 or right control 922 at anangle 940 of 10 degrees can cause the ball to be thrown left or right atan angle of 10 degrees from the vertical plane (e.g., perpendicular tothe ground and intersecting the machine and the player). Multiple onesof the controls may be selected for any given throw. For instance, theup arrow 910 and the left arrow 920 may be selected simultaneously tocause a ball to be thrown to the upper left of the player at specifiedangles 930, 940.

In FIG. 15, the controller user interface 1000 includes a target zone1020 that can be selected by a user, to which the ball machine willattempt to throw a ball. This target zone 1020 is shown relative to agraphic image of a player 1010. Thus, in the depicted embodiment, thetarget zone 1020 is to the right of the player's 1010 head, enabling theplayer to practice heading the ball. Statistics 1012 regarding theplayer, such as the player's name, height, and the time of the trainingprogram are shown as illustrative example statistics. Similarly, thetime remaining 1014 in the program is also shown.

Referring to FIG. 16, an example coaching user interface 1100 isdepicted as being in a web browser. A coach may access the coaching userinterface via a web browser or other application software. The coachinguser interface 1100 includes selectable controls 1110 that represent thecoach's players, which include information such as their names,positions, their player training data, and so forth. Coach-selection ofone of the player controls 1110 can cause a curriculum selection display1120 to be produced on the user interface 1100 as well as playertraining data 1140 for a particular player. In an alternativeembodiment, the user interface 1100 can enable the coach to createtraining programs without first selecting a player. The coach can savesuch training programs for subsequent selection by a player. Further, insome embodiments, the user interface 1100 may be used by a player tocreate a custom training program or modify another user's customtraining program online. The player can then use the user interface 1100to send the custom training program to a controller (220).

The example player training data 1140 shown includes data regarding themost recent session the player had with the ball throwing machine. Thisdata includes trap completion data 1144 and video 1146. A button link1148 to previous sessions is also provided. The curriculum selectiondisplay 1120 includes various controls 1122, 1124 that enable a coach todefine a training program. These controls include a selection control1122 for selecting a stored (e.g., previously-created) program andcreation controls 1124 for creating a custom program. Some exampleparameters for creating a custom program are depicted with respect tothe controls 1124, enabling a coach to define for each ball in a programits various characteristics (such as ball delivery type, velocity,oscillation, etc.). These characteristics are merely examples. In otherembodiments, for instance, the coaching user interface 1100 may providefunctionality for a coach to input the types of target zones each ballis directed to, such as the thigh, chest, foot, etc., in addition to orinstead of the characteristics shown.

FIG. 17 illustrates an example social networking user interface 1200that may be generated by the soccer network application 260. The socialnetworking user interface 1200 includes profile information for aplayer, community features for discussing training progress, videos, andother related social networking features. For example, some potentialfeatures of the social networking user interface 1200 or other such userinterfaces can include, among others, depicting of results of trainingor games, providing of tips and training advice, biogs, videos, playerratings, player rankings (including possibly highlight rankings forranking impressive video-recorded training sessions), help requestfunctionality for asking an expert or coach for help, comments from aprofessional, online webinars and training, contests, eventorganizations, recruiting tips, other recruiting features, generalfitness training, and the like.

VI. Additional Embodiments

In certain embodiments, a soccer ball throwing device includes a hopperthat can hold a plurality of soccer balls and a ball delivery devicethat can receive the soccer balls from the hopper. The ball deliverydevice can include one or more wheels that can impart motion to one ofthe soccer balls and a frame attached to the one or more wheels. Theframe can be positionable to control a trajectory of the ball. Thesoccer ball throwing device may also include a ball delivery controlcircuit that can control the position of the frame and the speed of theone or more wheels. Further, the ball throwing device can include acontroller in communication with the ball delivery control circuit. Thecontroller can include one or more processors that can at least: causethe soccer ball throwing device to perform an initial training programthat includes a set of one or more ball trapping drills, where thecontroller causes the soccer ball throwing device to pitch one or moreof the soccer balls to a player during said one or more ball trappingdrills, enabling the player to practice trapping the ball and therebyimprove ball control skills; record player training data that includesinformation regarding training of the player performed during theinitial training program; submit the player training data from thecontroller over a network to a soccer network application along with arequest for feedback from a remote coach through the soccer networkapplication; and in response to submission of the training session data,receive a customized training program from the coach via the soccernetwork application. The customized training program can include one ormore second drills to be executed by the soccer ball throwing device.

In various embodiments, a method of controlling a soccer ball throwingdevice includes providing a soccer ball throwing device having a hopperthat can hold a plurality of soccer balls, a ball delivery device thatcan receive the soccer balls from the hopper, where the ball deliverydevice has one or more wheels that can impart motion to one of thesoccer balls, and a frame attached to the one or more wheels, where theframe is positionable to control a trajectory of the ball, and a balldelivery control circuit that can control the position of the frame andthe speed of the one or more wheels. The method can also includecommunicating with the soccer ball throwing device via a controllerincluding computer hardware. The method may also include causing thesoccer ball throwing device, with the controller, to perform an initialtraining program that comprises a set of one or more ball trappingdrills, where the controller causes the soccer ball throwing device topitch one or more balls to a player during said one or more balltrapping drills, enabling the player to practice trapping the ball andthereby improve ball control skills. Moreover, the method can includerecording player training data that includes information regardingtraining of the player performed during the initial training program,submitting the player training data from the controller over a networkto a soccer network application along with a request for feedback from aremote coach through the soccer network application, and in response tosaid submitting the training session data, receiving a customizedtraining program from the coach via the soccer network application. Thecustomized training program can include one or more second drills to beexecuted by the soccer ball throwing device. The method can beimplemented by one or more physical processors.

A method of controlling a soccer ball throwing device can include, invarious embodiments, establishing communication between a soccer ballthrowing device and a controller having computer hardware. The methodcan also include causing the soccer ball throwing device, with thecontroller, to perform an initial training program that comprises a setof one or more ball trapping drills, where the controller causes thesoccer ball throwing device to pitch one or more balls to a playerduring said one or more ball trapping drills, enabling the player topractice trapping the ball and thereby improve ball control skills. Themethod can also include recording player training data that includesinformation regarding training of the player performed during theinitial training program. Further, the method can include submitting theplayer training data from the controller over a network to a soccernetwork application along with a request for feedback from a remotecoach through the soccer network application, and in response tosubmitting the training session data, receiving a customized trainingprogram from the coach via the soccer network application. Thecustomized training program can include one or more second drills to beexecuted by the soccer ball throwing device. The method can also beimplemented by one or more physical processors.

A system for controlling a ball throwing device can include a ballmachine control module that can cause a soccer ball throwing device toperform an initial training program that includes a set of one or moreball trapping drills. The ball machine control module causes the soccerball throwing device to pitch one or more balls to a player during saidone or more ball trapping drills in certain embodiments, enabling theplayer to practice trapping the ball and thereby improve ball controlskills. The system can also include a training module implemented in oneor more processors. The training module can record player training datathat includes information regarding training of the player performedduring the initial training program, submit the player training dataover a network to a soccer network application along with a request forfeedback from a remote coach through the soccer network application, andin response to said submitting the training session data, receive acustomized training program from the coach via the soccer networkapplication. The customized training program can include one or moresecond drills to be executed by the soccer ball throwing device.

In some embodiments, non-transitory physical computer storage isprovided that includes instructions stored therein for implementing, inone or more processors, a system for controlling a ball throwing device.The system can include a ball machine control module that can cause asoccer ball throwing device to perform an initial training program thatincludes a set of one or more ball trapping drills. The ball machinecontrol module can cause the soccer ball throwing device to pitch one ormore balls to a player during said one or more ball trapping drills,enabling the player to practice trapping the ball and thereby improveball control skills. The system can also include a training module thatcan record player training data that includes information regardingtraining of the player performed during the initial training program,submit the player training data over a network to a soccer networkapplication along with a request for feedback from a remote coachthrough the soccer network application, and in response to submittingthe training session data, receive a customized training program fromthe coach via the soccer network application. The customized trainingprogram can include one or more second drills to be executed by thesoccer ball throwing device.

A method of controlling ball throwing devices can include, in someembodiments, receiving player training data from a plurality ofcontrollers of ball throwing machines. The player training data cancorrespond to a plurality of players. In addition, the player trainingdata can reflect usage by the players of the ball throwing machines. Themethod may also include electronically generating a remote coaching userinterface by a computer system including computer hardware. The remotecoaching user interface can include options for the coach to selectrecommended training programs for the players based on the playertraining data. The method can also include receiving, from the remotecoaching user interface, coach-selected training programs to be sent tothe plurality of controllers. Moreover, the method can include providingdata representing the selected training programs to the plurality ofcontrollers, thereby enabling the players to implement the selectedtraining programs in the respective ball throwing machines of theplayers.

VII. Intelligent Goal System A. Intelligent Goal Structure

An “Intelligent Goal” (“goal”) takes the concept of a traditional soccergoal and adds a plurality of sensors and, optionally, one or more lightsand/or one or more speakers. In one embodiment, a miniaturized soccergoal may be utilized (e.g., have a height and width smaller than24′×8′). Examples of sizes a goal may have include, but are not limitedor restricted to, 24′×8′, 12′×6′, 6′×4′, 4′×4′, 4′×3′, etc. The goal mayinclude two side posts and a crossbar among other supporting posts. Inone embodiment, the side posts, crossbar and supporting posts(collectively referred to as “posts”) may be comprised of, for example,powder coated silver steel tubing. The posts may be comprised ofalternative materials such as plastic tubes. In one or more embodiments,the posts may fold or be easily disassembled for convenient storage. Anet (e.g., mesh or other material) may be attached to the posts toreceive a soccer ball kicked between the posts.

In one embodiment, the side posts may include one or more sensors thatare configured to detect the presence of a soccer ball crossing theplane created by the side posts and crossbar (referred to herein as the“goal plane”). In one embodiment, the plurality of sensors may includephotoelectric sensor pairs (e.g., single-beam or dual-beam), wherein apair includes two sensors (e.g., a transmitter and a receiver, or twosensors that act as both a transmitter and a receiver). In a firstembodiment, a first transmitter of a first photoelectric sensor pair isattached to a first side post and a first receiver of the firstphotoelectric sensor pair is attached to a second side post, the firstreceiver and first transmitter aligned horizontally such that athrough-beam of emitted light is transmitted from the first transmitteris received by the first receiver. The emitted light transmitted fromthe first transmitter to the first receiver is aligned with the goalplane. Therefore, when a soccer ball breaks the beam of emitted light,the first photoelectric sensor pair detects that the soccer ball hasbroken the goal plane (e.g., a goal was scored). In a second embodiment,the plurality of sensors may include a line of light emitting diodes(LEDs) coupled to a first side post and a line of detectors on thesecond side post. In one example, the number of LEDs included in theline of LEDs may be greater than the number of detectors in the line ofdetectors. In an alternative embodiment, a line of lasers may be usedinstead of, or in addition to, a line of LEDs. Other embodimentscontemplated include the use of one or more cameras to record a ballbreaking the goal plane. In such an embodiment, image recognition logic2117, as seen in FIG. 21, would be utilized to determine when a ballbreaks the goal plane and what portion of the goal plane (e.g., whichzone) was broken. Alternatively, an ultrasonic system or a laserinferometry system may be used to detect when a ball breaks the goalplane. In yet another embodiment, the photoelectric sensor pair maycomprise a retroreflective sensor pair that includes a first sensorbeing an emitter and a receiver in a single housing and a second sensorbeing a reflector that reflects the output from the first sensor back tothe first sensor. In order to avoid the scenario in which a ball breaksthe goal plane thereby triggering a through-beam interrupt and thenbounces out of the goal, causing a second through-beam interrupt for thesame ball (referred to herein as “double-counting”), it has beencontemplated that the sensors may be turned off for a predeterminedamount of time immediately following the first through-beam interrupt.It has also been contemplated that the sensors may remain on (e.g.,detecting through-beam interrupts) but that the sensor logic, discussedbelow, may discard or ignore a second through-beam interrupt that isdetected within a predetermined amount of time following a firstthrough-beam interrupt.

In some embodiments, a plurality of photoelectric sensor pairs areattached to the side posts such that a soccer ball crossing the goalplane will be detected. More particularly, the plurality ofphotoelectric sensor pairs are spaced apart vertically along the sideposts such that a soccer ball cannot break the goal plane withoutinterrupting at least one beam of emitted light. In one embodiment, thephotoelectric sensor pairs are spaced apart to account for a soccer ballhaving a size “5” (e.g., having a circumference of 27-28 inches). Otherembodiments may account for soccer balls of other sizes (e.g., a smallergap between the photoelectric sensor pairs to account for smaller soccerballs), such as size “4,” size “3,” size “2,” or size “1.” Additionally,an embodiment may account for a custom-sized ball (e.g., having adiameter of 18 cm).

In one embodiment, the sensors may be built into the side posts. Forexample, the receivers of a first photoelectric sensor pair may belocated within opposing side posts and an opening in each side post atthe position of each receiver enables the beam of emitted light to betransmitted from the first transmitter to the first receiver. In analternative embodiment, the sensors may be attached via an attachmentmechanism (e.g., a Velcro strap or plastic mounting component) thatenables the location of the sensors to be dynamic. In such anembodiment, the sensors may be adjusted according to a specific ballsize (e.g., size “5”) and at a later time, adjusted according to asecond specific ball size (e.g., size “4”). In yet another embodiment,as will be shown below in FIG. 19C, a goal may include multiple sets ofside posts such that a front set of side posts includes a plurality oflights integrated therein and a back set of side posts includes aplurality of sensors integrated therein.

Referring now to FIG. 18, an embodiment of an intelligent goal having aplurality of sensors establishing multiple zones within the plane of thegoal line and a plurality of lights is shown. In one embodiment, asshown in FIG. 18, a goal 1800 may be formed by a crossbar 1801 and sideposts 1802A-1802B, wherein a plane is created by the crossbar 1801 andthe side posts 1802A-1802B (a “goal plane”). Additionally, the goal 1800may include a plurality of sensors, wherein the plurality of sensors maybe comprised of a plurality of subsections, e.g., sensors 1803A-1803D,wherein the sensors 1803A are paired with the 1803B, and the sensors1803C are paired with the 1803D. For example, the sensors 1803A maytransmit a through-beam (e.g., an infrared beam) to the sensors 1803B.In one embodiment, the sensors 1803B may comprise a reflector thatreflects the through-beam back to the sensors 1803A. A goal is sensedwhen a ball interrupts the through-beam (e.g., breaks the goal plane).In the embodiment shown in FIG. 18, the sensors 1803C and 1803D create afirst sensor pair, which creates a first zone 1804 within the goalplane, and the sensors 1803A and 1803B create a second sensor pair,which creates a second zone 1805 within the goal plane. In such anembodiment, the sensors of the goal 1800 are able to detect when asoccer ball crosses the goal plane and further distinguish as to whetherthe soccer ball broke the goal plane in the first zone 1804 or in thesecond zone 1805. It has been envisioned that additional zones may becreated. In one embodiment, the first zone 1804 may be interpreted as a“passing zone” (e.g., a lower portion of the goal plane that incentivesa player to pass a ball along the ground) such that a first trainingdrill may require a predetermined number of balls to pass through thepassing zone in order to complete or progress in the training.Additionally, in such an embodiment, the second zone 1805 may beinterpreted as a “shooting zone” (e.g., an upper portion of the goalplane that incentives a player to shoot a ball above a predeterminedheight threshold). However, it is contemplated that for many users, asingle zone will be established and that as users and better developtheir skills, multiple zones may be established during one or moredrills to increase the difficultly in the drill. It should be noted thatthe terms “user” and “player” are herein used interchangeably.

As will be discussed below in detail, the sensors 1803A-1803D may bedynamically configurable such that the size and number of zones formedby the sensors 1803A-1803D within the goal plane may be configurablebased on a selected training drill. For example, a first training drillmay result in the dynamic configuration of the sensors 1803A-1803Dwherein two zones are formed (e.g., the first zone 1804 and the secondzone 1805, as illustrated in FIG. 18). Continuing the example, a secondtraining drill may result in the dynamic configuration of the sensors1803A-1803D wherein three or more zones are formed. It is contemplatedthat the number of zones formed may equal to, or less than, the numberof sensor pairs included within, or attached to, the goal (e.g., foursensor pairs may form one, two, three or four zones). It should beunderstood that a soccer ball may cross the goal plane in a plurality ofzones. Dynamic configuration of a goal with multiple zones enables thelocation of a soccer ball crossing the goal plane to be detected atvarying granularities that may be advantageous according to the skilllevel of the user (e.g., higher granularity useful for detecting preciseplacement of soccer balls by users with a high level of skill). As willbe discussed below, the number of zones and/or the size of one or morezones may be dynamically reconfigured during a training drill. In yetadditional embodiments, the size and number of zones formed by thesensors 1803A-1803D within the goal plane may be dynamicallyconfigurable based on one or more of: (i) a selected training drill,(ii) a skill level of a user, (iii) an age level of a user, and/or (iv)prior training records and/or training results of a player.

It is further contemplated that one embodiment of the goal may include aplurality of lights (e.g., LEDs lights) attached to, or located within,the side posts and/or the crossbar. The lights may be coupled with atimer and aid in timing. For example, four lights illuminated mayindicate two minutes remaining; three lights illuminated may indicateone minute and thirty seconds remaining, etc. Alternatively, or inaddition, the lights may be coupled to sensors (e.g., the sensors1803A-1803D of FIG. 18) such that one light is turned on, or off,according to the number of goals scored (in total or in a particularzone).

Still referring to FIG. 18, the plurality of lights 1806A-1806D may bedesignated according to the zones discussed above, wherein the pluralityof lights 1806A-1806D may be configured, e.g., controlled with softwareor firmware, to indicate to a user to kick the soccer ball through aspecific zone. For example, one or more of the plurality of lights,e.g., 1806C and 1806D, may correspond to the first zone 1804 and may beilluminated to indicate a current training program requires the user tokick the soccer ball through the first zone 1804 of the goal 1800. In asecond embodiment, each of the plurality of lights corresponding to thefirst zone 1804 (e.g., lights 1806C-1806D) may be illuminated and, as asoccer ball crosses the plane of the goal 1800 through the first zone1804, a light may be turned off. A predetermined soccer drill mayutilize such a configuration of the plurality of the lights 1806A-1806D(e.g., communicatively coupled to the sensors 1803A-1803D) in order toinstruct a user though which zone of the goal 1800 to kick the ball. Asmentioned above, the plurality of lights 1806A-1806D, communicativelycoupled to the sensors 1803A-1803D, may also aid in score keeping and/oraid in timing.

In one embodiment, the plurality of lights 1806A-1806D may comprise aplurality of colored LEDs wherein the colored LEDs are illuminatedaccording to a predetermined drill. As discussed below, logic may storeinstructions corresponding to the predetermined drill such thatpredetermined colored LEDs are illuminated according to a predeterminedtiming scheme or a predetermined scoring scheme (e.g., based on inputreceived from the sensors). In addition, the logic may includeinstructions to randomize the illumination of the colored LEDs wheredifferent colored LEDs correspond to different drills to be performed orzones of the goal to kick a ball through.

As discussed above with respect to the sensors 1803A-1803D, theplurality of lights 1806A-1806D may be dynamically configurableaccording to the configuration of the number of zones. For example,referring to FIG. 18, the sensors 1803A-1803D may be dynamicallyconfigured into two zones at the start of a training drill. Further, theplurality of lights 1806A-1806D may be dynamically configured intosubsections corresponding to the two zones. For example, the sensors1803A-1803B may correspond to the second zone 1805 and the sensors1803C-1803D may correspond to the first zone 1804. The plurality oflights 1806A-1806D may be dynamically configured in a different manner(e.g., configured into subsections corresponding to three zones)according to a second training drill.

Some embodiments of the goal 1800 may include one or more speakers 1807(“speakers”) such that audible cues may be provided to the user, inaddition or as an alternative to, the lights 1806A-1806D discussedabove. For example, predetermined instructions or messages may beincluded within a drill such that the speakers may alert the user of acurrent training drill to perform, a method of performing the trainingdrill (e.g., which foot to use), scoring and/or timing. The speakers1807, communicatively coupled to a memory and/or processor, may alsoprovide audible congratulatory messages (e.g., scoring milestones withina drill), which may be combined with a visual congratulatory message(e.g., via a scoreboard, via lights coupled to the intelligent goal,etc.). As discussed above with respect to the sensors 1803A-1803D, thespeakers 1807 may be built into the posts or may be attached via anattachment mechanism (e.g., a Velcro strap or plastic mountingcomponent) that enables the location of the speakers 1807 to be dynamic.In an alternative embodiment, illustrated in FIG. 19E, the speakers maybe located on the backside of the goal (e.g., in a housing). Forexample, the housing may include the speaker and may be adjacent, orcoupled to, a supporting post of the goal. It should be understood thatthe term speaker as used herein may also refer to headphones (e.g.,Bluetooth® Low-Energy (BLE) wireless headphones or wired headphones thatare coupled to an electronic device worn or carried by the user whileparticipating in the one or more drills).

Referring to FIG. 19A, a front side view of an embodiment of anintelligent goal is shown. The goal 1900 is structurally comprised of acrossbar 1907, side posts 1906A-1906B and additional supporting posts(collectively referred to hereinafter as “posts”), wherein the crossbar1907 and side posts 1906A-1906B form a plane (e.g., a “goal plane”). Thegoal 1900, as illustrated, also includes a plurality of sensors1903A-903B (e.g., photoelectric sensors), a plurality of lights1904A-1904D (e.g., LED lights) and speakers 1905A-1095B. It should beunderstood that one or more of the plurality of lights 1904A-1904D andthe speakers 1905A-1905B are optionally included in the goal 1900. Inone embodiment, as shown in FIG. 19F, the plurality of lights may belocated on the crossbar instead of on the sideposts and/or may belocated on both the crossbar and on one or more sideposts. In theembodiment illustrated in FIG. 19A, the sensors 1903A-1903B, theplurality of lights 1904A-1904D and the speakers 1905A-1905B areintegrated into the posts. As one example, the plurality of sensors1903A-1903B is located within a side post 1906A or 1906B (correspondingsensors are located in the opposing side post but cannot be seen).Specifically, the front side of each of the plurality of sensors1903A-1903B may be flush with the side post, the front side of each ofthe plurality of sensors 1903A-1903B may be recessed within the sidepost (e.g., allowing a cover to slide over each of the plurality ofsensors 1903A-1903B are not in use), or the front side of each of theplurality of sensors 1903A-1903B may be partially extended from the sidepost. The plurality of lights 1904A-1904D and the speakers 1905A-1905Bmay be configured similarly to the plurality of sensors 1903A-1903B asdiscussed above. Referring to FIG. 19B, a top cross-sectional view of anembodiment of the intelligent goal 1900 as seen in FIG. 19A, whichincludes the side post 1906B having a plurality of lights and aplurality of sensors integrated therein is shown. The light 1911 facesthe user (e.g., front-facing) and is recessed within the side post1906B. The side post 1906B also includes a sensor 1921 integratedtherein. The goal plane 1930 is shown to extend perpendicular to thefront of the goal (e.g., the direction facing the user) and in adirection toward a corresponding sensor in a corresponding side post,e.g., the side post 1906A (not shown).

Referring to FIG. 19C, a side view of a sectional portion of a side postof the goal 1900 including a plurality of sensors is shown. FIG. 19Cillustrates sensors 1908A-1908B integrated into a side post 1906A or1906B of the goal 1900. The sensors 1908A-1908B are illustrated asdual-beam photoelectric sensors (e.g., each having two optical sensors);however, alternative sensors may be used.

Referring now to FIG. 19D, a top perspective of an embodiment of anintelligent goal including a front set of side posts having a pluralityof lights integrated therein and a back set of side posts having aplurality of sensors integrated therein is shown. In the perspectiveview of FIG. 19D, a front side post 1910 and a back side post 1920 ofthe goal 1900 are shown. The front side post 1910 includes a light 1911integrated therein. The light 1911 faces the user (e.g., front-facing)and is recessed within the front side post 1910. The back side post 1920is positioned behind the front side post 1910 with respect to the userand includes a sensor 1921 integrated therein. The goal plane 1930 isshown to extend perpendicular to the front of the goal (e.g., thedirection facing the user) and in a direction toward a correspondingsensor in a corresponding side post (not shown). In some embodiments, adampening material 1912 may be included between at least a portion ofthe front side post 1910 and the back side post 1920 to absorb some ofthe impact when a ball hits the front side post 1910. Additionally, insome embodiments, the back side post 1920 may be designed to conform tothe shape of the front side post 1910.

Referring now to FIG. 19E, a front view of an embodiment of anintelligent goal including a housing that includes one or more speakersis shown. A goal 1950 is comprised of crossbar, side posts andsupporting posts. The goal 1950 may include light strips 1960 ₁-1960 ₂and a housing 1970 that may include one or more of a circuit board(e.g., including circuitry, a processor, and non-transitorycomputer-readable medium having stored thereon logic), a battery and/orone or more speakers.

Referring now to FIG. 19F, a front side view of an embodiment of anintelligent goal including a plurality of sensors located proximate toupper corners of the intelligent goal is shown. The goal 1980 mayinclude a plurality of lights 1981 ₁-1981 ₄ on one or more of the sideposts and/or the crossbar. In addition, the goal 1980 includes aplurality of sensors 1990 ₁-1990 ₂ coupled to the crossbar and sidepostsproximate to the upper corners of the goal 1980. The sensors 1990 ₁-1990₂ may be any type of sensor as discussed above. One purpose of thesensors 1990 ₁-1990 ₂ is to detect balls that break the goal plane inthe upper corners of the goal 1980 (often referred to as the “upper90”). A sensor pair of the sensors 1990 ₁-1990 ₂ may be placed atpredetermined angles relative to the crossbar and sideposts to include adetection space within each upper 90. For example, a first sensor of asensor pair of the sensors 1990 ₁-1990 ₂ may be placed at a 45° anglerelative to the crossbar and a second sensor of a sensor pair of thesensors 1990 ₁-1990 ₂ may be placed at a 45° angle relative to asidepost. One or more sensor pairs may be included in each of thesensors 1990 ₁-1990 ₂.

Referring now to FIG. 20, a front side view of a sectional portion of aside post, the crossbar and additional supporting posts of the goal 2000including a plurality of attachable sensors and an attachable speaker isshown. As illustrated, the attachable sensors 2001A-2001B are coupled toa side post of the goal 2000 and include attachment mechanisms2002A-2002B, respectively. The attachment mechanisms 2002A-2002B mayinclude straps (e.g., Velcro® straps), plastic components with aninterlocking mechanism or straps/coupling components of alternativematerials. Similarly, the attachable speaker 2003 is coupled to thecrossbar of the goal 2000 and includes an attachment mechanism 2004,which may include any of the embodiments discussed with respect to theattachable sensors 2001A-2001B. Advantages to the attachable sensors2001A-2001B include an ease of physical configuration and compatibilitywith multiple goals. For example, a user may utilize one or more sensorpairs with a first standard goal (i.e., no sensor integration within thegoal posts) and thereby physically configure one or more zones withinthe goal plane. The attachable sensors 2001A-2001B may then be detachedfrom the goal posts and attached to a second standard goal at a locationremote from the first standard goal. Similarly, the attachable speaker2003 and/or the attachable lights 2005A-2005B may be attached anddetached to a plurality of goals (standard or those with integratedsensors and or lights) using the attachment mechanisms 2004 and2006A-2006B, respectively. Additionally, with respect tobattery-operated sensors, lights and/or speakers, the ability to detachthe sensor, light and/or speaker provides for ease in changing abattery. It should be noted that the sensors, lights and/or speakers(attachable and/or integrated into a goal) may be battery operatedand/or provided power through an external power source.

Although embodiments described herein focus on the sport of soccer,embodiments pertaining to other sports have been contemplated. Theinvention described herein is applicable to any sport that is centeredaround the accuracy of a player to place a ball at a particularlocation. As a first example, a receiving device may take the shape of asquare (or alternative shape) that simulates a “strike zone” in baseballwherein the receiving device includes a plurality of sensors thatestablishes zones within the strike zone and the lights indicate whetherthe player placed a baseball (via a pitch) in a particular zone. As asecond example, a football goal post may include a plurality of sensorsthat establishes zones within the plane of the goal post and theplurality of lights indicate whether the player placed a football in aparticular zone. Alternatively, a receiving device may take the shape ofa square (or alternative shape) that simulates a target area for aquarterback wherein the receiving device includes a plurality of sensorsthat establishes zones within the a plane created by the square shapeand the lights indicate whether the player placed a football (via athrow) in a particular zone. Similar goals or training aids have beencontemplated for sports such as, but not limited or restricted to,softball, basketball, hockey, tennis, golf, lacrosse, and/or basketball.

B. Intelligent Goal Logic

A goal may also include non-transitory computer-readable medium (e.g.,memory) and one or more processors. The goal may alternatively becommunicatively coupled to memory and one or more processors (e.g.,communicate via a wired or wireless network). The memory may store logicthat includes executable instructions (e.g., software), that whenexecuted by the one or more processors, cause predetermined functions ofthe sensors, one or more of the plurality of lights and/or the speakers.In one embodiment wherein the goal includes non-transitorycomputer-readable medium (e.g., memory) and one or more processors, thelogic of the goal may communicate directly with a coach's device toreceive instructions regarding a selected training drill. In a secondembodiment wherein the goal is communicatively coupled to the memory andthe one or more processors that are both located on a remote electronicdevice (e.g., a computer, a server or other electronic device), the goalmay receive instructions regarding a selected training drill from theremote electronic device, which communicates directly with the coach'sdevice.

The logic of the goal may include: (i) a sensor logic, (ii) a lightlogic, (iii) a speaker logic, (iv) an integration logic, (v) aconfiguration logic, (vi) a timer logic, (vii) image recognition logic,(viii) recommendation logic and/or (ix) player proficiency projectionlogic. The sensor logic may receive input from one or more sensor pairs.As discussed above, a sensor pair comprises a first sensor and a secondsensor positioned opposite each other and aligned with the goal plane.The sensor logic receives a signal from one or more sensor pairs thatthe through-beam corresponding to the sensor pair was interrupted, thusindicating the goal plane was broken (i.e., a goal was scored). Thesensor logic determines from which sensor pair the signal was receivedand determines the zone corresponding to the sensor pair. The sensorlogic may determine from which sensor pair the signal was received by,for example, parsing the received signal for an identifier correspondingto a specific sensor pair included in the received signal. The sensorlogic may provide information associated with the signal (e.g., fromwhich sensor pair the signal was received, the zone corresponding to thesensor pair, etc.) to the integration logic. The sensor logic mayinclude the ability to detect the speed of a ball via detection of athrough-beam interrupt. For example, the sensor logic may determine thetime duration of the through-beam interrupt, and based on the size ofthe ball (e.g., included in the instructions regarding the selectedtraining drill), determine the speed at which the ball was traveling.Alternatively, such a determination may be performed in combination withthe timer logic. Furthermore, the sensor logic may include the abilityto detect the trajectory of a ball upon the detection of a goal.Particularly, the sensor logic may detect two or more through-beaminterrupts within a predetermined amount of time (e.g., milliseconds)such that the two or more through-beam interrupts correspond to a singleball breaking the plane of the intelligent goal. The trajectory of theball may be determined according to the order in which the through-beaminterrupts were detected. For example, in the scenario in which athrough-beam interrupt corresponding to a lower sensor was detectedprior to a through-beam interrupt corresponding to an upper sensor, thesensor logic may determine the ball had an upward trajectory whilebreaking the goal plane (e.g., that the ball bounced immediately priorto the breaking the plane of the intelligent goal). Similardeterminations may be made when (i) a through-beam interrupt of an uppersensor is detected immediately prior to detection of a through-beaminterrupt of a lower sensor (e.g., ball had a downward trajectory), (ii)two through-beam interrupts were detected simultaneously (e.g., ball hadapproximately a straight trajectory through the goal plane), etc.

The light logic may receive at least a portion of instructionsassociated with a selected training drill, and provide input, accordingto instructions associated with the selected training drill, to one ormore lights integrated with or attached to the goal. In one embodiment,the light logic may parse the instructions associated with the selectedtraining drill to determine whether one or more lights are to be turnedon and if so, for what duration. In a second embodiment, the light logicreceives input from the integration logic that has parsed theinstructions associated with the selected training drill, which providesthe light logic with the information required to turn on one or morelights, and for what duration, if necessary. The light logic iscommunicatively coupled to the timer logic such that the light logicprovides the timer logic with the required time intervals and receives anotification from the timer logic when a time interval expires. Based oneither (i) parsing instructions associated with the training drill, or(ii) instructions received from the integration logic or the timerlogic, the light logic may turn on or off one or more lights. Forexample, a selected training drill may begin with each of the lightsincluded in the goal turned on and when a player scores a goal, onelight turns off such that the purpose of the training drill is to turnoff all of the lights (additionally, a time component may beincorporated wherein the player has a predetermined amount of time toturn off all of the lights). Although the example includes turning offthe lights, it should be understood that the lights may be turned oninstead and the training drill maintain the same purpose. In someembodiments, the light logic may cause one or more lights to turn on oroff, wherein the one or more lights may remain illuminated or may blinkin a periodic manner.

As discussed above with respect to the sensor logic and the light logic,the speaker logic may receive at least a portion of instructionsassociated with a selected training drill and provide input, accordingto the instructions associated with the selected training drill, to oneor more speakers integrated with or attached to the goal. The speakerlogic may include, but is not limited or restricted to the followingfunctionality, provide audible cues as to the beginning and end of atraining drill, and/or provide audible cues during a training drillpertaining to timing, scoring, and player-instructions (e.g., with whichfoot to kick the ball, at which goal to shoot, at which zone to shoot,etc.). The speaker logic may receive input from the configuration logicthat causes the speaker to provide audible cues as to the configurationsettings of one or more zones according to a selected training drill.The speaker logic may also receive input from the integration logic andthe timer logic that cause the speaker to provide audible cues as toscoring and timing, respectively. Additionally, the speaker logic maycause music to play from the speakers. The music may be retrieved froman electronic device, e.g., a phone, tablet, coach's device, etc., via awired or wireless connection, or from a storage device of the goal, ifapplicable.

The integration logic receives input from the sensor logic and,responsive to the selected training drill and the received input,provides input to the light logic and/or the speaker logic. For example,the integration logic may provide input to the light logic that a ballhas interrupted a through-beam of a sensor pair in a required zone asset forth by the selected training drill. Accordingly, the light logicmay turn on a predetermined light (or turn off, as discussed above) andselect a color according to the selected training drill. For example,the light logic may turn on and turn off one or more lights (e.g.,blink) as a form of feedback when a goal is scored and/or change a colorof one or more lights (e.g., briefly and return to a previous color orfor at least a portion of the remainder of the drill). Similarly,responsive to the selected training drill and received input from thesensor logic, the integration logic may provide input to the speakerlogic pertaining to an audible cue that is to be provided by thespeakers. Furthermore, the integration logic may receive input from theconfiguration logic pertaining to the configuration, or reconfiguration,of one or more zones. The integration logic may subsequently provideinput to the sensor logic, the light logic and/or the speaker, whereinthe input may cause reconfiguration of one or more zones, adjustment ofone or more lights, and/or an audible cue to be provided to a user. Theintegration logic, in communication with the sensor logic, may recordthe color of a light corresponding to the through-beam that wasinterrupted (e.g., of the zone or goal) upon detection of a through-beaminterrupt by the sensor logic.

A configuration logic may receive instructions associated with theselected training drill, parse the instructions and provide input to oneor more of the sensor logic, the light logic and/or the speaker logic.In particular, the configuration logic may determine, based on theselected training drill, which sensor pairs correspond to each zone andprovide the determination to the sensor logic. Similarly, theconfiguration logic may determine, based on the selected training drill,which lights correspond to each zone and provide the determination tothe light logic. Furthermore, information of the zones establishedaccording to the selected training drill may be provided to a user viaan audible cue according to input provided by the configuration logic tothe speaker logic. In one embodiment, the selected training drill mayinclude reconfiguration of one or more zones during the training drill(referred to herein as “dynamic reconfiguration”). For example, in oneexemplary training drill, after a first predetermined number of goalsare scored in a first zone (e.g., upper half of the goal plane), thetraining drill may require a second predetermined number of goals to bescored in a second zone (e.g., upper quarter of the goal plane). In suchan example, responsive to receiving input from the sensor logic and/orintegration logic signifying the first predetermined number of goalshave been scored in the first zone, the configuration logic providesinput to the sensor logic and/or the light logic to dynamicallyreconfigure the sensors and/or the lights to establish the second zone.The configuration logic may be in communication with the sensor logicand, upon detection of a through-beam interrupt by the sensor logic,record the zone corresponding to the through-beam that was interrupted(e.g., through which zone a goal was scored).

A timer logic may maintain one or more timers corresponding to one ormore portions of a training drill (e.g., a first timer corresponding toa first predetermined amount of time to maintain establishment of afirst set of zones and a second timer corresponding to a secondpredetermined amount of time to maintain establishment of a second setof zones). The timer logic may be configured to control several timeintervals for, inter alia, turning on or off of one or more lights,dynamic configuration of one or more zones established by the sensors,determining a period between a first ball and a second ball beingprovided by a ball throwing machine, etc. As a first example, the timerlogic may be configured to control a timer that indicates the timeduration of a training drill wherein one or more lights turn on for thetime duration of the drill and turn off following the expiration of thetime duration of the drill. As a second example, the timer logic may beconfigured to control a plurality of timers (e.g., one timer per light)such that the timer logic instructs the light logic of a first goal toturn on a plurality of lights for a first time duration and, at theexpiration of the first time duration, instructs the light logic to turnoff a first light while at least a second light remains on. Continuingthe example, at the expiration of a second time duration—the second timeduration being longer than the first time duration—the timer logicinstructs the light logic to turn off the second light. In yet anotherexample, the timer logic may be configured to instruct the light logicof a first goal to turn on at least a first light of the first goal fora first time duration and at the expiration of the first time duration,instruct the light logic of the first goal to turn off the first lightand instruct the light logic of a second goal to turn on at least afirst light of the second goal for a second time duration. It has alsobeen contemplated that the timer logic may be configured to control oneor more timers for any of the sensor logic, the light logic, the speakerlogic, and/or the integration logic. The timer logic may also be incommunication with the sensor logic such that a timestamp is recordedfor each through-beam interrupt detected by the sensor logic.

In one embodiment, the training drill database may store predeterminedtraining drills (e.g., input or instructions) for retrieval by one ormore of the sensor logic, the light logic, the speaker logic, theintegration logic, the configuration logic, the timer logic and/or theimage recognition logic (“the intelligent goal logic”). Notification ofa selected training drill may be provided to the intelligent goal logicby, for example, a coach's device using an identifier of the selectedtraining drill. One or more components of the intelligent goal logic mayretrieve the selected training drill, or instructions associatedtherewith, based on the provided identifier.

The training drill database may also store all of the input and/orfeedback associated with a training session (e.g., one or more trainingdrills encompassing one instance in which user utilizes the goal) andprovides the input and/or feedback to the coach's device and/or a cloudserver for storage. Such input and/or feedback may be connected to auser's profile and used to provide customized feedback to the user, rankthe user based on the input and/or feedback against predetermined goalsor statuses (e.g., “beginner,” “amateur,” “professional”) and/or otherusers (based on age, gender, drill, overall, etc.), and/or used, atleast as a factor, in determining future training sessions for theplayer (e.g., either via logic that performs the determinationautomatically prior to or at the initiation of a training session ormanual human determination, e.g., recommendation logic 2118 as seen inFIG. 21).

1. Logical Representation

Referring to FIG. 21, an exemplary embodiment of a logicalrepresentation of the intelligent goal logic as discussed above isshown. As discussed above, a goal may either (i) include non-transitorycomputer-readable medium (e.g., memory) and one or more processors, or(ii) be communicatively coupled to the memory and the one or moreprocessors located in a remote electronic device, wherein instructionsare communicated to the goal a wired or wireless network.

In the embodiment in which the intelligent goal logic is included withina goal, the goal may include a housing, which is made entirely orpartially of a hardened material (e.g., hardened plastic, metal, glass,composite or any combination thereof) that protects circuitry within thehousing, namely one or more processors 2101 that are coupled to acommunication interface 2102 via a first transmission medium 2103.Alternatively, the intelligent goal logic may be located in anelectronic device physically separate from the goal that communicateswith the sensors, lights and/or speakers integrated in or attached tothe goal. In such an embodiment, the electronic device includes ahousing that protects circuitry within the housing, e.g., the one ormore processors 2101 that are coupled to a communication interface 2102via a first transmission medium 2103.

In either embodiment, the communication interface 2102 in combinationwith communication interface logic 2121 enables communications with thesensors, lights and/or speakers, one or more coach's devices and/orremote electronic devices. According to one embodiment of thedisclosure, the communication interface 2102 may be implemented as aphysical interface including one or more ports for wired connectors.Additionally, or in the alternative, the communication interface 2102may be implemented with one or more radio units for supporting wirelesscommunications with other electronic devices. The communicationinterface logic 2117 may include logic for performing operations ofreceiving and transmitting one or more objects via the communicationinterface 2102 to enable communication between sensors, lights and/orspeakers, one or more coach's devices, remote electronic devices and/orcloud computing services.

The processor(s) 2101 is further coupled to persistent storage 2110 viaa second transmission medium 2104. According to one embodiment of thedisclosure, the persistent storage 2110 may include (i) the sensor logic2111, (ii) the light logic 2112, (iii) the speaker logic 2113, (iv) theintegration logic 2114, (v) the configuration logic 2115, (vi) the timerlogic 2116, (vii) the image recognition logic 2117, (viii) therecommendation logic 2118, (ix) the player proficiency projection logic2119, (x) the communication interface logic 2121, and (xi) a trainingdrill database 2120. Of course, when implemented as hardware, one ormore of these logic units could be implemented separately from eachother.

2. Exemplary Methodology

Referring to FIG. 22, a flowchart illustrating an exemplary method forconfiguring and operating the intelligent goal according to a selectedtraining drill is shown. Each block illustrated in FIG. 22 represents anoperation performed in the method 2200 of configuring and operating theintelligent goal according to a selected training drill. As discussedabove, an intelligent goal may either (i) include non-transitorycomputer-readable medium (e.g., memory or storage device) and one ormore processors, or (ii) be communicatively coupled to the memory andthe one or more processors located in a remote electronic device,wherein instructions are provided to the intelligent goal via a wired orwireless communication. Referring to block 2201, the intelligent goalsystem receives a selection of a training drill. For example, theintelligent goal system may receive a signal from a coach's device thatidentifies the selected training drill.

At block 2202, the intelligent goal system parses one or moreinstructions associated with the selected training drill. Theintelligent goal system may (i) be provided with the one or moreinstructions associated with the selected training drill, or (ii)retrieve one or more instructions associated with the selected trainingdrill from a storage device as discussed above.

At block 2203, the intelligent goal system configures one or moresensors and/or lights into one or more zones aligned with the goalplane. As discussed above, the configuration logic of the intelligentgoal system may determine, based on the selected training drill, whichsensor pairs correspond to one or more zones (set forth in theinstructions associated with the training drill) and provide thedetermination to the sensor logic, which configures the sensorsaccordingly.

At block 2204, the intelligent goal system receives a signal from afirst sensor pair signifying a through-beam has been interrupted (i.e.,a goal was scored). At block 2205, the intelligent goal systemdetermines whether the through-beam interrupt corresponds to the end ofthe selected training drill. For example, a through-beam interrupt maycorrespond to the end of the selected training drill when thethrough-beam interrupt a predetermined number of goals scored in aparticular zone (e.g., the training drill consists of scoring five goalsin a first zone, wherein the through-beam interrupt representing thefifth goal in the first zone represents the end of the training drill).Additional variations exist wherein a through-beam interrupt wouldsignify the end of the training drill (e.g., the through-beam signifiesa predetermined number of goals scored outside of a particular zone).Furthermore, input may be received from the ball throwing machine, asdiscussed below, that signifies the end of the training drill (e.g., apredetermined number of balls has been provided to a user), wherein theinput from the ball throwing machine is used in place of the signalrepresenting a through-beam interrupt. When the intelligent goal systemdetermines the through-beam interrupt corresponds to the end of theselected training drill (yes at block 2205), the method 2200 ends (block2206).

When the intelligent goal system determines the through-beam interruptdoes not correspond to the end of the selected training drill (no atblock 2205), the intelligent goal system determines whether thethrough-beam interrupt corresponds to a predetermined zone based on theselected training drill (block 2207). For example, a through-beaminterrupt may correspond to a predetermined zone based on the selectedtraining drill when the through-beam interrupt does not signify that apredetermined number of goals has been scored in a particular zone(e.g., the training drill consists of scoring five goals in a firstzone, wherein the through-beam interrupt representing the third goal inthe first zone does not represent the end of the training drill). Whenthe intelligent goal system determines the through-beam interrupt doesnot correspond to a predetermined zone based on the selected trainingdrill (no at block 2207), the method 2200 returns to block 2204 toreceive a second signal from one or more of the sensor pairs integratedwith or attached to the intelligent goal.

Optionally, when the intelligent goal system determines the through-beaminterrupt corresponds to a predetermined zone based on the selectedtraining drill (yes at block 2207), the intelligent goal system altersthe state of one or more lights (block 2208). For example, when atraining drill consists of scoring a predetermined number of goals in afirst zone, the logic of the intelligent goal system may cause (i) afirst light integrated with or attached to the intelligent goal to turnon responsive to a first goal scored in the predetermined zone, (ii) asecond light integrated with or attached to the intelligent goal to turnon responsive to a second goal scored in the predetermined zone, etc.

C. Ball Throwing Machine, Coach's Device and Intelligent Goal System

In addition, a goal may be communicatively coupled to a coach's device(e.g., s, smart phone, smart watch, iPod®, iTouch®, or any electronicdevice with wireless/Bluetooth® connectivity) and a ball-throwingmachine. Referring to FIG. 23, an exemplary embodiment of a computingenvironment 2300 for facilitating communications between the controllerand a soccer network application of FIG. 7, the intelligent goal logicand an intelligent goal is shown. As illustrated, a training session mayinclude the use of one or more intelligent goals (“the intelligentgoal”) 2320, a coach's device 250 and a ball-throwing machine 10.Additionally, a soccer network application 260 may also be included.

In one embodiment, the coach's device 250 may be a wearable, just as asmart watch, which includes Bluetooth® connectivity capabilities (orother wireless connectivity capabilities) and software functionalityenabling communication with and control of one or more of theintelligent goal 2320 and/or the ball-throwing machine 10. Uponconnecting via Bluetooth® to one or more of the intelligent goal 2320and/or the ball-throwing machine 10, the wearable may controlfunctionality of the intelligent goal 2320 and/or the ball-throwingmachine 10 related to, inter alia, the sensor logic, the light logic,the speaker logic, the integration logic, the configuration logic, thetimer logic, the imagine recognition logic, the recommendation logicand/or the player proficiency logic.

In addition, the user may wear a similar wearable device which includesBluetooth® connectivity capabilities (or other wireless connectivitycapabilities) and software functionality enabling communication with andcontrol of one or more of the intelligent goal 2320 and/or theball-throwing machine 10. Such a wearable device worn by the user maymonitor and record health-related statistics of the user (e.g., heartrate, steps, calories burned, etc.) so that the health-relatedstatistics of the user may be correlated with the statistics of thedrills/sessions completed by the user. For example, the correlation mayillustrate a particular drill elevates the heart rate of a particularuser more than other drills, allowing a trainer to see the conditioningof the particular user associated with the particular drill should beimproved. Additionally, the correlation may influence drill and/orsession recommendations, as will be discussed below. As used herein, asession refers to one or more drills.

With respect to the intelligent goal 2320, as discussed above, theprocessor and/or memory, e.g., storing the intelligent goal logic, maybe included in the ball throwing machine, the intelligent goal 2320and/or the coach's device. The input from the sensors of the intelligentgoal 2320 may be combined with input and/or feedback from the ballthrowing machine 10 (e.g., the number of soccer balls that have beenprovided to a user, the speed(s), the angle(s), the direction(s), etc.)such that the plurality of lights integrated with or attached to theintelligent goal 2320 may be turned on and/or turned off according tothe input from the intelligent goal 2320 and/or the ball throwingmachine 10. Additionally, the input and/or feedback received from thesensors of the intelligent goal 2320 may be stored in a data repository270 according to a player profile or the like. The ball throwing machine10 and the coach's device 250 may include the functionality as discussedabove. Additionally, instructions comprising a training program, asdiscussed above, may include instructions corresponding to functionalityof the intelligent goal 2320 as discussed herein. For example,instructions comprising the training program may include instructionscorresponding to the ball throwing machine 10 and instructionscorresponding to one or more logic components of the intelligent goallogic. In addition, instructions comprising the training program mayalso be directed to two or more intelligent goals such that a trainingprogram utilizes a ball-throwing machine and two or more intelligentgoals.

1. Player Profile

Discussed above with respect to FIG. 7, the data repository 270 maystore player data. More particularly, the data repository 270 may be, atleast in part, cloud storage and store player data in the form of aplayer profile. A player profile may be created for each person (e.g., auser) that utilizes the ball-throwing machine, coach's device and/orintelligent goal system (cumulatively referred to as “the system”). Aplayer profile may include, but is not limited or restricted to, one ormore of: identifying information, statistics based on experience usingthe system which may be measured in points (e.g., indicatingrepetitions, time, accuracy, etc.), “badges” (e.g., awards based onpredetermined criteria), a “player level” (e.g., score—numerical, title,etc.—based on one or more of experience, age, gender, position,session/drill history, affiliate studio, etc.), affiliate studiolocation, etc. A player profile may be used by a studio (e.g., trainersat a specific location) and/or a mobile application/website to track thesession/drill history and progress of a user. In particular, a playerprofile may include a player level that includes a numerical score ortitle signifying a culmination of the user's history of using thesystem, which may account for repetitions using the system, repetitionsof particular drills, accuracy while completing particular drills,badges earned, etc. As the player continues to use the system the playerlevel will adjust accordingly (e.g., typically increase as the usercontinues to complete more drills and improve his/her accuracy). Forexample, a user's player level may increase (e.g., increase numericallyor progress along a series of titles) once a predetermined number ofdrills have been completed, once the player's accuracy at a particulardrill exceeds a threshold, a combination thereof, etc. A badge may beearned based on predetermined criteria and also result in, or contributeto, an increase in the player level. The predetermined criteria mayinclude, but is not limited to, utilization of the system for apredetermined number of days in a row or percentage of days (e.g., in aweek, month, etc.), a predetermined accuracy level on one or moredrills, a predetermined number of repetitions (e.g., overall, aparticular drill, etc.). In some embodiments, an earned badge or certainplayer level may enable the user to try new drills. Additionally, as aplayer level increases or badges are earned, accuracy or timing incertain drills may need to improve to earn an additional badge oradvance to the next player level. The player level may be, at least inpart, determined by the experience points earned during each drill. Forexample, a user may earn experience points by completing a drill with apredetermined accuracy (e.g., a first amount of experience points forcompleting within a first accuracy threshold, and a second amount forcompleting within a second accuracy threshold, the second amount beinggreater than the first amount when the second accuracy threshold ishigher than the first accuracy threshold). Timing thresholds may be usedin a similar manner as accuracy thresholds to determine the amount ofexperience points earned by a user. Additionally, a training drill mayprovide a user with a predetermined number of balls and award extraexperience points based on certain balls scored (e.g., 10 balls whereextra experience points are awarded when any of the last 3 ballsprovided are scored accurately—meaning within the required zone, ifapplicable). Alternatively, or in addition, extra experience points maybe awarded when goals are scored accurately within a predetermined timeof a drill (e.g., a first portion, a middle portion, or an endportion—thereby emphasizing certain scenarios within a game) and/or apredefined number of balls are scored accurately in a row or within apredefined time period.

The player level may be displayed on display screens (e.g., scoreboards)at a studio, accessed via a website and/or via a mobile applicationallowing a user to track his/her drill/session history, abilities (e.g.,accuracy, timing, etc.) over time and badges earned. Additionally, uponcompleting a drill and/or a session, a player's statistics may becompiled, cumulatively or for the particular drill/session, so that theuser may visually review the statistics and progress made, includingexperience points earned, whether a new player level was achieved and/ora new badge earned. Additionally, such statistics may be displayedduring each drill so the user may have knowledge of such progress whileattempting to complete the drill (e.g., to provide motivation to theuser to continue trying as hard as possible).

The player profile may also include an avatar that may be customizableby the user. The user may “unlock” new avatars, or avatar features(skills, appearances, clothing, etc.) upon earning certain badges oradvancing to certain player levels. The player profile is not tied to aparticular studio but may be accessed by the user (or a trainer) at anystudio (e.g., the user may visit multiple studios and want to keep trackof drill/session history, accuracy, timing statistics, etc., while ateach studio).

As discussed briefly above, the player profile may be linked to ascouting tool (e.g., web site or alternative software, possibly of athird-party). In such an embodiment, the user (or parents) may opt in tolinking the player profile to the scouting tool. By linking the playerprofile to the scouting tool, coaches (e.g., high school, club, college,etc.) may be able to assess a player's skill level quickly based on theplayer score and badges earned and have a standard format by which tocompare multiple players (e.g., in assessing invitations to join a team,offer letters, scholarships, etc.). Additionally, as a player profilemay include age, gender, and position, coaches may easily sort throughplayers when looking to assess players of a particular age (or range),gender and/or position.

a. Drill and Session Recommendations

In addition to maintaining a player profile so that, inter alia, a usermay review his/her metrics and drill/session history, the system mayinclude logic, recommendation logic 2118, that recommends a drill orsession for a user based, at least in part, on the player profile (e.g.,experience points, player level, history of drills completed, etc.). Inone embodiment, the recommendation logic 2118 may utilize a set ofpredetermined rules to generate a session of recommended drills (oralternatively, a single drill). For example, the recommendation logic2118 may analyze—e.g., parse—a user's player profile and based on theinformation associated with the player's profile, recommend a session orindividual drill for the user. The recommendation logic 2118 may use oneor more of the following to recommend a session or drill according to apredetermined rule set: age, gender, position, player level, experiencepoints, badges, session/drill history, accuracy in one or more drills,studio, timing until completion for one or more drills, etc. Therecommendation logic 2118 may be stored in non-transitorycomputer-readable medium located in the coach's device (e.g., a mobileapplication) wherein the processing is performed by one or moreprocessors of the coach's device and/or in cloud-storage wherein theprocessing is performed by one or more processors of one or more serversassociated with the cloud storage.

Once the session or drill recommendation has been provided to the userand/or trainer, the trainer may initiate the session or drill via thecoach's device. Alternatively, the trainer may adjust the recommendationto focus the drill or session on a particular aspect (e.g., headers, lowshots, high shots, trapping a ball provided to the user in the air priorto shooting at the intelligent goal, etc.) In one embodiment, therecommendation logic 2118 may generate a GUI displaying therecommendation and enabling the trainer to adjust—customize—therecommendation via user input that provides the recommendation logic2118 with information as to a preferred aspect. The recommendation logic2118 may then adjust the recommendation according to a predeterminedrule set that accounts for the player profile and the preferred aspect.

In yet another embodiment, a drill may be adjusted during the drill,prior to completion. For example, a user wearing a smart wearable thatis connected wirelessly to the coach's device, the intelligent goaland/or the ball-throwing machine, may provide instructions to theball-throwing machine and/or the intelligent goal, possibly via thecoach's device, to adjust the drill. The user may increase/decrease thespeed at which the ball-throwing machine provides the user with ballsand/or the time duration of each interval in between balls.Additionally, a trainer may provide such instructions via the coach'sdevice. This may be advantageous when the user is, for example, tiredand needs a longer time interval between balls, or alternatively, isexcelling and needs to be challenged with shorter intervals betweenballs. It has been contemplated that the experience points awarded to auser may be adjusted according to adjustments made during the drill(e.g., increase the amount of experience points when a user increasesthe speed at which the ball-throwing machine provides each ball).

b. Player Proficiency Projection

Furthermore, the system may include logic, player proficiency projectionlogic 2119 as seen in FIG. 21, that analyzes the information associatedwith the player profile to project the player's abilities (e.g.,proficiency) in the future. The analysis performed by the playerproficiency projection logic 2119 may include a rules-based analysisthat enables the player proficiency projection logic 2119 to use storedinformation (e.g., statistics based on experience using the system whichmay be measured in points (e.g., repetitions, time, accuracy, etc.),earned badges, a player level, etc.) and correlate the storedinformation with for example, gender, age, height, weight, position,etc. to project, according to one or more predetermined rules, futureabilities of the player. Additionally, the affiliate studio location maybe used in the correlation as a pattern may develop such that players ata particular affiliate studio may develop more rapidly and to a higherdegree than players at other affiliate studios. The rules-based analysismay project player proficiency in terms of a player level, accuracystatistics, earned badges, etc., to enable comparisons with otherplayers' proficiency projections. Additionally, the player proficiencyprojection logic 2119 may provide projections such as projected top ballspeed on shots, projected accuracy statistics (shots on goal, shotsscored, accurate goals scored, time to complete one or more drills,etc.), thereby allowing a coach or scout to consider such projectionswhen determining whether to provide the player with a roster positionand/or a scholarship. As one example, the player proficiency projectionlogic 2119 may analyze information stored over time in a user's playerprofile at multiple ages (e.g., top shot speed measured at ages 9, 10and 11 to project top shot speed at age 16, 18 and 20 based on one ormore statistics within the player profile used in the rule-basedanalysis). The player proficiency projection logic 2119 may project anyof the statistics stored in the player profile for any future age of auser when the user's player profile has stored the information necessaryto perform the analysis. As an alternative to the rules-based analysis,or in addition to, the player proficiency projection logic 2119 mayinclude a machine learning logic component that adapts its analysisbased on actual, measured data. For example, the player proficiencyprojection logic 2119 may use machine learning logic to project a user'splayer proficiency and based on actual, measured statistics of the userat a future age, the machine learning logic may adjust its analysis. Asone example, the player proficiency projection logic 2119 may perform ananalysis for one or more users in the system while the one or more usersare at a first age (e.g., age 9) and project the top shot speed of theone or more users future ages (e.g., 10, 11, 12, etc.). Upon measuringthe actual top shot speed of the one or more users at the future ages,the machine learning logic component of the player proficiencyprojection logic 2119 may adjust its analysis to more accurately projectusers' statistics based on the projected statistic compared to theactual, measured statistic.

2. Diagnostics

An additional advantage to maintaining a record of all drills performedis that statistics for each ball-throwing machine and intelligent goalare known. For example, the total number of balls provided to users eachmachine is known. Therefore, a trainer or maintenance staff employee maydiagnose the status of each ball-throwing machine. In particular, atrainer or maintenance staff employee may track the total number ofballs provided by each ball-throwing machine and perform pre-emptivemaintenance (e.g., replace a component within the machine, oil themachine, etc.) when predefined thresholds are met—e.g., predefinednumbers of total balls provided by a machine. Similarly, a trainer ormaintenance staff employee may diagnose each intelligent goal todetermine the number of balls shot at the intelligent goal. Based onexperiential knowledge, predefined thresholds of balls shot at anintelligent goal may be set such that, upon exceeding such predefinedthresholds, a trainer or maintenance staff employee is to perform manualdiagnostics on the intelligent goal including, for example, visuallychecking each sensor is not broken, the net is intact, etc. In someembodiments, the logic of the system may provide an alert to a trainerand/or maintenance staff employee that the thresholds discussed hereinhave been exceeded. The statistics used to determine whether thethresholds have been exceeded may be stored in cloud storage (e.g., thedata repository 270 of FIGS. 7 and 23) along with a correspondingmachine identifier for retrieval by any coach's device or via a website.

3. Trainer Evaluation and Location Data Tracking

Upon completing a session, a user may rate and/or comment on the trainerthat was facilitating the session. For example, a user may rate atrainer according to a predetermined, set rating scale (e.g., onethrough five stars).

The coach's device may also track each drill that was initiated by eachtrainer via the coach's device. The trainer may be asked to log-in toaccess the coach's device application, which enables the trainer toinitiate a session/drill. Therefore, each drill initiated by eachtrainer may be recorded (e.g., in the data repository 270). The metricsof each trainer (e.g., time spent at a studio, drills initiated,efficiency (a number of drills initiated according to time spent at thestudios), retention rate of the trainer by a user, etc.) may be recordedand used, at least in part, in mid-year or end-year evaluations of eachtrainer. Additionally, improvements of users under each trainer may becompared across trainers by utilizing the player profiles of users undera trainer (e.g., to determine average change in player level, experiencepoints, etc., of users under each trainer). The metrics of each trainermay enable a comparison of trainers at each studio. The comparisons maybe displayed in a graphical format (e.g., via a graphical user interface(GUI)—in one embodiment, referred to as a “reporting dashboard”)accessible by a mobile application and/or a website.

4. Mobile Application and Web Site

As mentioned above, the user's player profile may be viewable in amobile application and/or website (for convenience, collectivelyreferred to herein as “the mobile application”) via an electronicdevice. The user may open the mobile application to view the user'splayer profile. In addition to reviewing player metrics, drill/sessionhistory, badges earned, player level, etc., the mobile application maybe opened before or during a drill and provide audio via one or morespeakers included in or coupled to the electronic device. The audio mayinclude, but is not limited or restricted to, music, audio instructionsassociated with a drill (current drill or next drill), and/orfeedback/motivation. In one embodiment, the mobile application mayinclude logic that is configured to stream music via the internet, playmusic stored on non-transitory computer-readable medium of theelectronic device and/or play music via a radio station.

The logic of the mobile application may additionally be configured toprovide audible instructions associated with the drill being performedby the user. For example, the logic of the mobile application mayprovide instructions such as, inter alia, turn, trap, one touch, performa particular move prior to shooting, etc. The audible instructions mayenable a user to receive customized training instructions (e.g., theaudible instructions may be provided according to a user's experiencepoints, player level, badges, etc. so that user's at various playerlevels may receive audible instructions corresponding to the user'splayer level, points, etc.). The audible instructions may allow a userto receive customized instructions while all other trainers arepreoccupied (e.g., a session using audible instructions may cost lessthan a session involving a trainer). In addition, when a user wears asmart wearable that is wirelessly connected to the mobile applicationvia the electronic device, the mobile application may receive healthinformation of the user (heart rate, calories burned, steps, etc.) andprovide audible instructions to take a break, get a drink, eat a smallsnack, etc. The mobile application may also provide audible instructionsduring the drill according to health information received from a smartwearable (e.g., audible instructions instructing a user to run a littlefaster in order to get heart rate to a target heart rate). The mobileapplication may also provide audible instructions regarding timing(e.g., countdown to end of drill or countdown to end of break betweendrills, etc.)

The mobile application may also include a “content feed” section thatmay provide the user with videos, articles, tips, etc. (the content feedmay be targeted according to the player profile—e.g., age, gender,position, skill level, etc.). In one embodiment, the content feedsection may be updated according to drills completed or drills to becompleted (e.g., advice on trapping balls when drills to be completedinclude one or more drills associated with trapping balls). The drillsto be completed may be determined via a predetermined rule set (and/orin conjunction with the recommendations as discussed above, wherein therecommendations for future training sessions/drills are determinedfollowing a completed drill/session).

Additionally, the mobile application may include a booking/reservationsystem section. For example, a calendar may be displayed allowing a user(or parent) to schedule a training session time via input to the mobileapplication. Bookings may also be suggested based on previous bookingsor other factors such as bookings of other users of a similar age,gender, player level, preferred trainer, etc.

In yet another embodiment, the mobile application may be configured togenerate custom drills according to received user input of particularaspects of a drill. In such an embodiment, the mobile applicationreceives user input corresponding to one or more aspects of a drill,wherein an aspect of a drill may be an instruction to a ball-throwingmachine or an intelligent goal. The instruction may correspond to, interalia, a time period for the custom drill, a zone establishment pattern(e.g., when zones are established—based on one or more timers and/orgoals scored), a number of balls to provide to the user, characteristicsof providing a ball to a user (angle, speed, direction, etc.),characteristics of one or more lights of one or more goals (e.g., colorcharacteristics, timing of turning on or turning off one or morelights—based on one or more timers and/or goals scored), a pattern forscoring an “accurate goal,” as discussed above, etc.

Although the examples and figures discussed above focus on the use of anintelligent goal, an “intelligent hurdle” and/or “intelligent cone” maybe used in a similar manner and include similar logic. For example, anintelligent hurdle or intelligent cone may include wireless connectivitycapabilities and be configured to connect to a coach's device in orderto receive information associated with one or more training drills. Theintelligent hurdle or intelligent cone may include one more sensorsand/or one or more lights as discussed above with respect to theintelligent goal. Additionally, it has been contemplated that trainingdrills may also include scenarios in which the user triggers aninterrupt of a sensor beam with his/her hand or foot, in contrast to aball. Such a drill may be designed to work on the players quickness(e.g., back and forth between two or more intelligent goals, hurdlesand/or cones) or exercises such as checking back to the ball or bringinga defender away and sprinting toward the ball.

VIII. Terminology

Many other variations than those described herein will be apparent fromthis disclosure. For example, depending on the embodiment, certain acts,events, or functions of any of the algorithms described herein can beperformed in a different sequence, can be added, merged, or left outaltogether (e.g., not all described acts or events are necessary for thepractice of the algorithms). Moreover, in certain embodiments, acts orevents can be performed concurrently, e.g., through multi-threadedprocessing, interrupt processing, or multiple processors or processorcores or on other parallel architectures, rather than sequentially. Inaddition, different tasks or processes can be performed by differentmachines and/or computing systems that can function together. Althoughcertain computer-implemented tasks are described as being performed by aparticular entity, other embodiments are possible in which these tasksare performed by a different entity.

The various illustrative logical blocks, modules, and algorithm stepsdescribed in connection with the embodiments disclosed herein can beimplemented as electronic hardware, computer software, or combinationsof both. To clearly illustrate this interchangeability of hardware andsoftware, various illustrative components, blocks, modules, and stepshave been described above generally in terms of their functionality.Whether such functionality is implemented as hardware or softwaredepends upon the particular application and design constraints imposedon the overall system. The described functionality can be implemented invarying ways for each particular application, but such implementationdecisions should not be interpreted as causing a departure from thescope of the disclosure.

The various illustrative logical blocks and modules described inconnection with the embodiments disclosed herein can be implemented orperformed by a machine, such as a general purpose processor, a digitalsignal processor (DSP), an application specific integrated circuit(ASIC), a field programmable gate array (FPGA) or other programmablelogic device, discrete gate or transistor logic, discrete hardwarecomponents, or any combination thereof designed to perform the functionsdescribed herein. A general-purpose processor can be a microprocessor,but in the alternative, the processor can be a controller,microcontroller, or state machine, combinations of the same, or thelike. A processor can also be implemented as a combination of computingdevices, e.g., a combination of a DSP and a microprocessor, a pluralityof microprocessors, one or more microprocessors in conjunction with aDSP core, or any other such configuration. A computing environment caninclude any type of computer system, including, but not limited to, acomputer system based on a microprocessor, a mainframe computer, adigital signal processor, a portable computing device, a personalorganizer, a device controller, and a computational engine within anappliance, to name a few.

The steps of a method, process, or algorithm described in connectionwith the embodiments disclosed herein can be embodied directly inhardware, in a software module executed by a processor, or in acombination of the two. A software module can reside in RAM memory,flash memory, ROM memory, EPROM memory, EEPROM memory, registers, harddisk, a removable disk, a CDROM, or any other form of non-transitorycomputer-readable storage medium, media, or physical computer storageknown in the art. An exemplary storage medium can be coupled to theprocessor such that the processor can read information from, and writeinformation to, the storage medium. In the alternative, the storagemedium can be integral to the processor. The processor and the storagemedium can reside in an ASIC. The ASIC can reside in a user terminal. Inthe alternative, the processor and the storage medium can reside asdiscrete components in a user terminal.

Conditional language used herein, such as, among others, “can,” “might,”“may,” “e.g.,” and the like, unless specifically stated otherwise, orotherwise understood within the context as used, is generally intendedto convey that certain embodiments include, while other embodiments donot include, certain features, elements and/or states. Thus, suchconditional language is not generally intended to imply that features,elements and/or states are in any way required for one or moreembodiments or that one or more embodiments necessarily include logicfor deciding, with or without author input or prompting, whether thesefeatures, elements and/or states are included or are to be performed inany particular embodiment. The terms “comprising,” “including,”“having,” and the like are synonymous and are used inclusively, in anopen-ended fashion, and do not exclude additional elements, features,acts, operations, and so forth. Also, the term “or” is used in itsinclusive sense (and not in its exclusive sense) so that when used, forexample, to connect a list of elements, the term “or” means one, some,or all of the elements in the list.

While the above detailed description has shown, described, and pointedout novel features as applied to various embodiments, it will beunderstood that various omissions, substitutions, and changes in theform and details of the devices or algorithms illustrated can be madewithout departing from the spirit of the disclosure. As will berecognized, certain embodiments of the inventions described herein canbe embodied within a form that does not provide all of the features andbenefits set forth herein, as some features can be used or practicedseparately from others.

What is claimed is:
 1. A non-transitory storage medium having storedthereon logic, the logic being executable by one or more processors toperform operations including: receiving information associated with aselection of a first training drill; responsive to receiving theinformation associated with the selection of the first training drilland based on the first training drill, causing a first light to beplaced in an activated state, wherein the first light is coupled to afirst goal apparatus; and responsive to a triggering event, causing thefirst light to be placed in a deactivated state and causing a secondlight to be placed in an activated state.
 2. The non-transitory storagemedium of claim 1, wherein the goal apparatus includes posts that form agoal plane, wherein a first sensor pair is coupled to the goal, andwherein the triggering event is a detection of an object passing throughthe posts and across the goal plane.
 3. The non-transitory storagemedium of claim 2, wherein the detection of an object passing throughthe posts and across the goal plane equals a threshold number ofdetections of objects passing through the posts and across the goalplane, wherein the threshold number is defined by the first trainingdrill.
 4. The non-transitory storage medium of claim 1, wherein thetriggering event is an expiration of a time limit defined by the firsttraining drill.
 5. The non-transitory storage medium of claim 1, whereinthe second light is coupled to the first goal apparatus.
 6. Thenon-transitory storage medium of claim 1, wherein the second light iscoupled to a second goal apparatus.
 7. The non-transitory storage mediumof claim 1, wherein a third light is configured to indicate scoring inaccordance to the first training drill.
 8. The non-transitory storagemedium of claim 1, wherein receiving the information associated with theselection of the first training drill includes (i) a selection of thefirst goal apparatus, and (ii) a selection of a status for at least aportion of the first light.
 9. The non-transitory storage medium ofclaim 8, wherein the selection of the status for the portion of thefirst light is activated, wherein an activated status includesillumination using a first color.
 10. The non-transitory storage mediumof claim 1, wherein receiving the information associated with theselection of the first training drill includes (i) a selection of aplurality of goal apparatuses including the first goal apparatus, and(ii) a selection of a sequence of illuminating and deactivating one ormore lights of each of the plurality of goal apparatuses based on eithertriggering events or a timing sequence.
 11. The non-transitory storagemedium of claim 10, wherein the triggering events include detections ofobjects passing across goal planes of each of the plurality of goalapparatuses.
 12. A system comprising: a first goal apparatus, whereinthe first goal apparatus includes at least a first light; and anon-transitory storage medium having stored thereon logic, the logicbeing executable by one or more processors to perform operationsincluding: receiving information associated with a selection of a firsttraining drill, responsive to receiving the information associated withthe selection of the first training drill and based on the firsttraining drill, causing the first light to be placed in an activatedstate, and responsive to a triggering event, causing the first light tobe placed in a deactivated state and causing a second light to be placedin an activated state.
 13. The system of claim 12, wherein the goalapparatus includes posts that form a goal plane, wherein a first sensorpair is coupled to the goal, and wherein the triggering event is adetection of an object passing through the posts and across the goalplane.
 14. The system of claim 13, wherein the detection of an objectpassing through the posts and across the goal plane equals a thresholdnumber of detections of objects passing through the posts and across thegoal plane, wherein the threshold number is defined by the firsttraining drill.
 15. The system of claim 12, wherein receiving theinformation associated with the selection of the first training drillincludes (i) a selection of the first goal apparatus, and (ii) aselection of a status for at least a portion of the first light.
 16. Thesystem of claim 12, wherein the selection of the status for the portionof the first light is activated, wherein an activated status includesillumination using a first color.
 17. The system of claim 12, whereinreceiving the information associated with the selection of the firsttraining drill includes (i) a selection of a plurality of goalapparatuses including the first goal apparatus, and (ii) a selection ofa sequence of illuminating and deactivating one or more lights of eachof the plurality of goal apparatuses based on either triggering eventsor a timing sequence.
 18. A computerized method comprising: receivinginformation associated with a selection of a first training drill;responsive to receiving the information associated with the selection ofthe first training drill and based on the first training drill, causinga first light to be placed in an activated state, wherein the firstlight is coupled to a first goal apparatus; and responsive to atriggering event, causing the first light to be placed in a deactivatedstate and causing a second light to be placed in an activated state. 19.The computerized method of claim 18, wherein receiving the informationassociated with the selection of the first training drill includes (i) aselection of the first goal apparatus, and (ii) a selection of a statusfor at least a portion of the first light.
 20. The computerized methodof claim 18, wherein receiving the information associated with theselection of the first training drill includes (i) a selection of aplurality of goal apparatuses including the first goal apparatus, and(ii) a selection of a sequence of illuminating and deactivating one ormore lights of each of the plurality of goal apparatuses based on eithertriggering events or a timing sequence.